设计原则
moon1128
这个作者很懒,什么都没留下…
展开
-
合成/聚合复用原则 (Composition/Aggregation Principle, CARP)
合成/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。简短的表述:要尽量使用合成/聚合,尽量不要使用继承。 合成和聚合都是关联的特殊种类。聚合用来表示“has-a”关系或者整体与部分的关系,而合成则用来表示一种强的多得“has-a”关系。在一个合成关系里,部分和整体的生命周期是一样的。一个对象在同一个时间原创 2005-01-08 22:49:00 · 3807 阅读 · 1 评论 -
“开-闭”原则 (Open-Closed principle, OCP)
“开-闭”原则 (Open-Closed principle, OCP) 一个软件实体应当对扩展开放,对修改关闭。Software entities should be open for extension, but closed for modification.在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。 “可变性的封装原则”从工程的角度讲解了原创 2005-01-07 16:03:00 · 9664 阅读 · 0 评论 -
里氏代换原则 (Liskov Substitution Principle, LSP)
里氏代换原则 (Liskov Substitution Principle, LSP) 定义严格表达:如果对每一个类型为T1的对象O1,都有类型为T2的对象O2,使得以T1定义的所有程序P在所有的对象O1都代换成O2时,程序P的行为没有变化,那么类型T2是类型T1的子类型。 简单说,任何基类可以出现的地方,子类一定可以出现。 从代码重构的角度理解:西方著名的思辨,正原创 2005-01-07 17:05:00 · 3758 阅读 · 1 评论 -
依赖倒转原则 (Dependency Inversion Principle, DIP)
依赖倒转原则是,要依赖于抽象,不要依赖于实现。 依赖倒转原则的表述是:抽象不应当依赖于细节;细节应当依赖于抽象。Abstractions should not depend upon details. Details should depend upon abstractions. 另一种表述是:要针对接口编程,并要针对实现编程。 应用依赖倒转原则,对象的创建很原创 2005-01-08 22:45:00 · 3694 阅读 · 0 评论 -
迪米特法则 (Law of Demeter, LoD)
迪米特法则又叫作最少知识原则,就是说一个对象应当对其他对象有尽可能少的了解。 狭义的迪米特法则的缺点:在系统里造出大量的小方法,这些方法仅仅是传递间接的调用,与系统的商务逻辑无关。遵循类之间的迪米特法则会是一个系统的局部设计简化,因为每一个局部都不会和远距离的对象有直接的关联。但是,这也会造成系统的不同模块之间的通信效率降低,也会使系统的不同模块之间不容易协调。 门面模式和原创 2005-01-08 22:55:00 · 3882 阅读 · 0 评论 -
面向对象的设计原则总述
设计原则: 1.“开-闭”原则 (Open-Closed principle, OCP) 2. 里氏代换原则 (Liskov Substitution Principle, LSP) 3.依赖倒转原则 (Dependency Inversion Principle, DIP) 4.接口隔离原则 (Interface Segregation Principle, I原创 2005-01-10 10:53:00 · 2657 阅读 · 0 评论