抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式是指当有多个抽象角色时,使用的一种工厂模式。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定产品的具体的情况下,创建多个产品族中的产品对象。根据里氏替换原则,任何接受父类型的地方,都应当能够接受子类型。因此,实际上 ...
分类:
其他好文 时间:
2018-06-18 15:10:09
阅读次数:
186
If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged whe ...
分类:
其他好文 时间:
2018-06-15 12:59:32
阅读次数:
136
Liskov Substitution Principle里氏替换原则,OCP作为OO的高层原则,主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。“抽象”是语言提供的功能。“多态”由继承语义实现。 LSP:1.概述: ...
分类:
其他好文 时间:
2018-05-30 19:18:43
阅读次数:
409
1.单一职责原则:一个类只负责一项职责 单一职责原则告诉我们实现类要职责单一 2.里氏替换原则:子类可以扩展父类的功能,但却不能改变父类原有的功能 里氏替换原则告诉我们不要破坏继承体系 3.依赖倒置原则:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象 依赖倒置 ...
分类:
其他好文 时间:
2018-05-24 11:51:31
阅读次数:
142
单一职责原则:描述的意思是每个类都只负责单一的功能,切不可太多,并且一个类应当尽量的把一个功能做到极致。 比如实现一个计算机功能,就不可以上来就一个计算机类,然后提供读取数据,然后运算的操作,而是把读取的作为一个类,把计算的作为一个类,测试一个类这样来 里氏替换原则:这个原则表达的意思是一个子类应该 ...
分类:
其他好文 时间:
2018-05-20 18:02:12
阅读次数:
185
官方定义:程序中的对象应该是可以在不改变程序正确性的前提下被它的子类所替换,也就是说所有引用基类的地方必须能透明地使用其子类的对象。通俗的来说,子类可以扩展父类的功能,但不能改变父类原有的功能。 自己理解:一个实体类如果使用的是一个父类的话,那么一定适用于子类,在程序里面把父类替换成他的子类,程序的 ...
分类:
其他好文 时间:
2018-05-15 01:47:59
阅读次数:
187
设计原则: 单一职责原则:类的功能要专一,不要大而全里氏替换原则:使用父类的地方都可以直接换成子类,不要随意覆盖父类的方法,不要破坏原有的继承结构依赖倒置原则:针对接口编程,降低耦合度,提高健壮性接口隔离原则:接口的功能要专一,不要大而全迪米特法则:开闭原则:对扩展开放,对修改关闭 设计模式:单例模 ...
分类:
编程语言 时间:
2018-05-02 10:02:29
阅读次数:
192
继承 1.[概念] 通俗的说,就是儿子继承老子的财产,是开闭原则之一。 父类:基类 子类:派生类 特点: 单根性 子类只能继承一个父类 传递性 子类继承所有父类的方法属性 在创建子类对象的时候,子类对象会分别创建子类和父类的字段提供空间。 里氏替换: 子类能继承父类一切,包括构造函数和方法字段等,能 ...
分类:
其他好文 时间:
2018-05-01 20:23:58
阅读次数:
164
Go语言圣经-接口1.接口类型是对其它类型行为的抽象和概括2.Go语言中接口类型的独特之处在于它是满足隐式实现的3.Go语言中还存在着另外一种类型:接口类型。接口类型是一种抽象的类型4.一个类型可以自由的使用另一个满足相同接口的类型来进行替换被称作可替换性(LSP里氏替换) 练习 7.1: 使用来自 ...
分类:
编程语言 时间:
2018-04-25 00:20:07
阅读次数:
600
一.概念: 设计模式是人们在面对同类型软件工程设计问题所总结出的一些有用经验 模式不是代码而是某类问题的通用设计解决方案 设计模式的本质目的是使软件工程在维护性、扩展性、变化性、复杂度方面成O(N) 学习设计模式最好的方式是在你的设计和以往的工程里寻找何处可以使用它们 二.OO的六大原则: 1. S ...
分类:
其他好文 时间:
2018-04-20 14:35:39
阅读次数:
123