随笔分类 - 设计模式
摘要:开放封闭原则的定义:Softwareentitieslikeclasses,modulesandfunctionsshouldbeopenforextensionbutclosedformodifications(一个软件实体如类,模块和函数应该对扩展开放,对修改关闭)开放封闭原则主要体现在两个方面:对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。开放封闭的含义:原始含义代码应该通过继承来复用,已经实现和已有的接口都不应当变动,新的接口不应当实现已有的接口。如今,其含义已经变成:通过实
阅读全文
摘要:接口隔离原则的定义:接口隔离原则:InterfaceSegregationPrinciple,ISP1.Clientshouldnotbeforcedtodependuponinterfacesthattheydon’tuse(客户端不应该依赖他不需要的接口)2.Thedependencyofnoeclasstoanotheroneshoulddependonthesmallestpossibleinterface(类间的依赖关系应该建立在最小的接口上)接口隔离原则的含义:1.一个类对另外一个类的依赖性应该建立在最小的接口上2.一个接口代表一个角色,不应该把不同的角色都交给一个接口。没有关系的
阅读全文
摘要:迪米特法则的由来:1987年秋天由美国Northeastern University的Ian Holland提出,被UML的创始者之一Booch等普及。后来,因为在经典著作《 The Pragmatic Programmer》而广为人知。迪米特法则定义:迪米特法则(Law of Demeter,LoD)也称最少只是原则。他规定:一个对象应该对其他对象有最少的了解。迪米特法则的含义:只与你的直接朋友通信(朋友指出现在成员变量、方法的输入输出参数中的类。出现在方法体内部的类不属于朋友类)。如果一个类要调用另一个类要通过第三者调用迪米特法则的注意事项:1.优先考虑将一个类设置成不变类。2.尽量降低一
阅读全文
摘要:一:依赖倒置原则的由来依赖倒置原则(DependenceInversionPrinciple,DIP)二:依赖倒置原则的定义Highlevelmodulesshouldnotdependuponlowlevelmodules.Bothshoulddependuponabstractions.Abstractionsshouldnotdependupondetails.Detailsshoulddependuponabstractions.(高层模块不应该依赖低层模块,两者都应该依赖抽象,抽象不应该依赖细节,细节应该依赖抽象)抽象:抽象类或者接口,两者都不能被实例化细节:即具体的实现类,实现接口
阅读全文
摘要:一:单一职责原则的由来单一职责原则(SingleResponsibilityPrinciple,SRP)是Bob大爷提出来的。二:单一职责原则的定义thereshouldneverbemorethanonereasonforaclasstochange.(就一个类而言,应该有且只有一个原因引起他的变化)。三:单一职责的例子例如打电话的例子可以发现IPhone这个借口不只有一个职责,他包含两个职责:一个协议管理,一个数据传输。dial()和hangup()两个方法实现的是协议管理,分别负责拨号和挂机;chat()实现的是数据传输。可以发现协议接通的变化和数据传输(通话,上网...)都会引起类的变
阅读全文
摘要:里氏替换原则的由来里氏替换原则(Liskov Substitution Principle LSP)是由麻省理工学院计算机科学实验室的Liskov(里斯科瓦)女生提出的。在1987年的OOPSLA大会上发表的一篇文《DataAbstractionand Hierarchy》里面提出来的,主要阐述了有关继承的一些规则, 就是什么时候使用继承,什么时候不应该使用继承,以及其中蕴含的原理。里氏替换原则的定义 第一种定义:If for each object o1 of type S there is an object o2 of type T such that for all program..
阅读全文

浙公网安备 33010602011771号