责任专题提供责任的最新资讯内容,帮你更好的了解责任。
转自 Swift设计模式 原文 Design-Patterns-In-Swift // 责任链模式 // 百度百科:在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 // 设计模式分类:行为型模式
例如,如果我要写这个代码: var t = time_t() time(&t) let x = localtime(&t) // returns UnsafeMutablePointer<tm> println("\(x.memory.tm_hour): \(x.memory.tm_min): \(x.memory.tm_sec)") …还有必要还要做以下几件事吗? x.destroy() x.
单一责任(SRP),就是一个类而言,应该仅有一个引起它变化的原因。( 不知道是不是有机会用QT 作一个俄罗斯方块的游戏)逻辑和界面分离是一个很重要的原则。 如果一个类承担的责任过多,就等于把这些责任耦合在一个,一个指责的变化可能会削弱或者抑制这个类完成其他责任的能力,这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。适当的使用映射?抽象?来减少对于界面的依赖。 软件设计真正要作的许
一个类,应该只有一个让其变化的原因,也就是说,它的职责应该只有一个。如果一个类,拥有过多的职责,那么就证明代码的耦合性过强。 举个简单的例子:学生在黑板上画圆。画圆的动作应该由圆提供,而不是由黑板提供。如果由黑板提供,那么就违反了单一责任模式了。
单一责任原则(Simple Responsibility Principle):又简称为SRP,通俗的解释就是一个类,应该仅有一个引起它变化的原因,很简单的解释就是一个类只负责一向责任就o了。 为什么会产生这样的编程原则呢?因为当一个类中含有两个责任的时候的,一个责任的变化可能会影响另外一个责任的实现,这样的互相影响不利用代码的可复用性,修改起来也是相当的费劲,而SRP就可以很好的解决这样的问题。
单一责任原则         就一个类而言,应该仅有一个引起它变化的原因   如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其它职责能力。这种耦合会导制脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。   如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责。        在书中,作者用手机为例子,现在的智能手机集各种功
声明:本文并非博主原创,而是来自对《Laravel 4 From Apprentice to Artisan》阅读的翻译和理解,当然也不是原汁原味的翻译,能保证90%的原汁性,另外因为是理解翻译,肯定会有错误的地方,欢迎指正。 欢迎转载,转载请注明出处,谢谢! 单一责任原则 介绍 “SOLID”设计原则,是Robert “Uncle Bob” Martin提出的理论。它是良好应用设计的5大原则,包
我在一个项目,相当严肃地承担单一责任原则。我们有很多小班,事情都很简单。然而,我们有一个贫血领域模型 – 在我们的任何模型类中没有行为,它们只是属性袋。这不是对我们的设计的投诉 – 它实际上似乎工作得很好 在设计审查期间,每当新行为被添加到系统时,SRP被引出,因此新行为通常在一个新类中结束。这使事情很容易单元测试,但我有时感到困惑,因为它感觉像把行为从相关的地方。 我试图提高我的理解如何正确应用
单一责任原则和关注的分离有什么区别? Single Responsibility Principle (SRP)- give each class just one reason to change; and “Reason to change” == “responsibility”. In example: Invoice class does not have a responsibilit
我试图学习单一责任原则(SRP),但它是相当困难,因为我有一个巨大的困难,以确定什么时候,我应该从一个类,我应该把/组织它应该删除。 我在搜索一些材料和代码示例,但大多数材料我发现,而不是让它更容易理解,使其难以理解。 For example if I have a list of Users and from that List I have a class Called Control tha
SOLID“接口隔离原理”与“单一责任原则”有何不同? 维基百科entry for SOLID says那个 ISP splits interfaces which are very large into smaller and more specific ones so that clients will only have to know about the methods that are
接口隔离原理只是一个单一责任原则的替代品? 我认为如果我的课程完成SRP,就不需要提取多个界面。 所以ISP看起来像是解决方案,以防我们因为某些原因打破SRP。 我对吗 ? 举个例子,他们的责任就是把数据保持在例如硬盘将类拆分为读写部分将不具有实际意义。但有些客户端只应该使用该类来读取数据,一些客户端只能写入数据,而有些客户端要做这两个。将ISP应用于三个不同的接口将是一个很好的解决方案。
这可能只是我,这就是为什么我在问这个问题。信息专家,不要问,SRP通常被一起提到最佳做法。但我认为他们是不对的。这是我在说的: 有利于SRP但违反的代码告诉不要问,信息专家: Customer bob = ...; // TransferObjectFactory has to use Customer's accessors to do its work, // violates Tell D
一个 answer到Stack Overflow问题表示,一个特定的框架违反了简单和简单的OOP规则:单一责任原则(SRP)。 单一责任原则真的是OOP的规则吗? 我对于面向对象编程的定义的理解是“使用对象及其行为来创建软件的范例”。这包括以下技术:封装,多态和遗产。 现在不要误会我 – 我相信SRP是最好的OO设计的关键,但我觉得有些情况下这个原则可以而且应该被打破(就像数据库规范化规则)。我积
我基本上想了解一些人认为在现实世界的代码中使用单一责任原则是合理的,实际上有多少。在 Podcast #38年乔尔谈论这个OOP原则是如何无用的现实世界;此外,这表明Bob叔叔的人们可能不会写出不平凡的系统。 我在几个软件项目中亲自写了或扮演了重要角色,但是在我的年轻职业生涯中,现在才发现了这种模式。我喜欢这个原则的声音,真的很想开始使用它。我发现乔尔在播客中的论据很弱(像其他人一样,如果继续阅读
使用当前的做法(至少使用WPF和Silverlight),我们可以看到在视图模型中通过命令绑定绑定的视图,或者至少看到视图模型中处理的视图事件。这似乎违反了 SRP,因为视图模型不仅仅是建模视图状态,而是响应视图(用户)。其他人已经询问了 how to build view models without violating SRP或要求 whether their implementations
在SRP中,“责任”通常被描述为“改变的理由”,因此每个类(或对象?)应该只有一个人应该去那里并改变它的原因。 但是,如果你把它变成极端细粒度,你可以说一个对象将两个数字加在一起是一个责任,也是一个可能的改变原因。因此,对象不应包含其他逻辑,因为它会产生另一个变化的原因。 我很好奇是否有人有任何“范围界定”策略,单一责任原则稍微不那么客观? 它归结为你正在建模的背景。我已经做了一些广泛的写作并介绍
An interesting thread刚刚打了这个问题时就出现了.我不认为这回答了我的问题. 我已经在.NET MVC3中工作了很多,在那里它是希望有一个贫血模型.查看模型和编辑模型最好是愚蠢的数据容器,您可以从控制器传递到视图.任何一种应用程序流都应该来自控制器,并且视图处理UI的问题.在MVC中,我们不想在模型中有任何行为. 但是我们也不希望控制器中有任何业务逻辑.对于更大的应用程序,最好
我有一个“告诉,不要问”的情况似乎与“单一责任”原则相冲突.我已经看过关于这个问题的其他讨论,但是还没有能够为这种情况找出最适合面向对象的方法. 我有一个程序读取和操作来自各种来源的数据集合.我创建了一个类来保存和操作数据(“DataSet”类).它包括对数据集执行各种操作的方法,例如比较两个数据集以生成包含差异的新数据集,以及将数据集写入文件. 我现在要对数据集执行一些分析,并将结果输出到报告.
有人可以给我一个单一责任原则的例子吗?我正在努力理解这一点,实际上,一个课堂有一个责任,因为我恐怕我可能每天都违反这个规则. 查看 Solid description. 除非你要求更具体的内容,否则很难帮助更多. 单一责任是一个类的概念,做一个特定的事情(责任),而不是试图做更多的事情,这也被称为高凝聚力. 课堂通常不会以低凝聚力开始,但通常在几个版本和不同的开发人员添加到他们之后,突然间你会注意