摘要: 开闭原则(Open Closed Principle)是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统。定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。Softeware entities like classes,modules and functions should be open for extension but closed for modifi... 阅读全文
posted @ 2010-09-26 08:53 13路易的 阅读(1244) 评论(1) 推荐(0) 编辑
摘要: 定义:迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least Knowledge Principle,LKP)。一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的public方法,我就调用这么多,其他的一概不关心。含义:只和朋友交流朋友类的定义是这样... 阅读全文
posted @ 2010-09-26 08:52 13路易的 阅读(945) 评论(0) 推荐(0) 编辑
摘要: 接口隔离原则 Interface Segregation Principle定义:客户端不应该依赖它不需要的接口 类间的依赖关系应该建立在最小的接口上 我们可以把这两个定义概括为一句话:建立单一接口,不要建立臃肿庞大的接口。再通俗一点讲:接口尽量细化,同时接口中的方法尽量少。提供给每个模块的都应该是单一接口,提供给几个模块就应该有几个接口,而不是建立一个庞大的臃肿的接口,容纳所有的客户端访问。接口... 阅读全文
posted @ 2010-09-26 08:49 13路易的 阅读(1045) 评论(0) 推荐(1) 编辑
摘要: 依赖倒置原则(Dependence Inversion Principle,DIP)的原始定义:高层模块不应该依赖底层模块,两者都应该依赖其抽象; 抽象不应该依赖细节; 细节应该依赖抽象。依赖倒置原则在Java语言中的表现是:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或者抽象类产生的; 接口或抽象类不依赖于实现类; 实现类依赖接口或抽象类。依赖倒置原则实际上就是... 阅读全文
posted @ 2010-09-26 08:42 13路易的 阅读(1795) 评论(0) 推荐(1) 编辑
摘要: 里氏替换原则(Liskov Substitution Principel)是解决继承带来的问题。继承的优点:代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性; 提高代码的重用性; 子类可以形似父类,但又异于父类; 提高代码的可扩展性; 提高产品或项目的开放性。 继承的缺点:继承是侵入性的,只要继承就必须拥有父类的所有属性和方法; 降低代码的灵活性,子类必须拥有父类的属性和方法,让子类增... 阅读全文
posted @ 2010-09-26 08:33 13路易的 阅读(977) 评论(0) 推荐(0) 编辑
摘要: 定义:应该有且仅有一个原因引起类的变更。There should never be more than one reason for a class to change.优点:1、类的复杂性降低,实现什么职责都有清晰明确的定义;2、可读性提高,复杂性减低,可读性当然提高;3、可维护性提高,可读性提高,可维护性当然提高;4、变更引起的风险减低,变更是必不可少的,如果接口的单一职责做得好,一个接口修改... 阅读全文
posted @ 2010-09-26 08:32 13路易的 阅读(980) 评论(0) 推荐(0) 编辑