设计模式
懵懂记忆
这个作者很懒,什么都没留下…
展开
-
设计模式开篇-面向对象基础回顾
前段时间一直在看设计模式,大致看了一遍,基本上是能看懂,不过看的过程中基础知识的不牢固,让我在看的过程中感觉很难受,所以这几天趁着假期,把面向对象的一些基础知识及时的补了补。感觉现在看完这些基础知识之后跟最初刚学的时候理解的更加深入,记忆也更加深刻了。于是,就想以这个为开篇,写一个设计模式的学习系列,将自己的所看所想所感通过文字的形式讲出来,一方面加深自己的印象,另一方面希望能对其他人产生一定的帮...原创 2019-01-02 22:31:42 · 153 阅读 · 0 评论 -
设计模式六大原则-单一职责原则
1、单一职责原则(SRP) 定义:就一个类而言,应该仅有一个引起它变化的原因。2、引入单一职责的原因 单一职责原则将不同的职责分离到单独的类中,每一个职责都是一个变化的中心。在SRP中,把职责定义为变化的原因是:当需求变化时,将通过更改职责相关的类来体现。如果一个类拥有多于一个的职责,则多个职责耦合在一起,会有多于一个原因来导致这个类发生变化。一个职责的变化可能就会影响...原创 2019-01-02 23:17:49 · 207 阅读 · 0 评论 -
设计模式六大原则-开放封闭原则
1、开放-封闭原则概述 开闭原则(OCP)有两个主要特征:(1)对扩展开放:模块的行为可以扩展,当应用的需求改变时,可以对模块就行扩展(2)对修改关闭:对模块进行扩展时,不必改动模块的源代码。开闭原则是面向对象设计中可复用设计的基石。2、开放-封闭原则的实现 开闭原则实现的关键-----抽象。抽象基类:把系统的所有可能的行为抽象成一个抽象底层,这个抽象底层规定出...原创 2019-01-03 23:19:21 · 405 阅读 · 0 评论 -
设计模式六大原则-依赖倒置原则
1、依赖倒置原则概述(DIP) 三层含义:(1)高层模块不应该依赖底层模块,两者都应该依赖抽象(2)抽象不应该依赖细节(3)细节应该依赖抽象。每一个逻辑的实现都是由原子逻辑组成的,不可分割的原子逻辑就是底层模块(一般是接口、抽象类),原子逻辑的组装就是高层模块。在Java中,抽象就是指接口或抽象类,两者都不能被实例化。细节就是实现类,实现接口或者继承抽象类而产生的类就是细节,可以...原创 2019-01-04 00:02:10 · 373 阅读 · 0 评论 -
设计模式六大原则-里氏代换原则
1、里氏代换原则(LSP) 子类型必须能够替换掉它们的父类型。一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它觉察不出父类对象和子类对象的区别。也就是说在软件里面,把父类都替换成它的子类,程序的行为没有变化。这里也许会有疑问, 为什么子类可以替换父类的位置,而程序的功能不受影响呢?当满足继承的时候,父类肯定存在非私有成员,子类肯定是得到了父类的这些非私有成员(假设父...原创 2019-01-05 18:14:42 · 385 阅读 · 0 评论 -
设计模式六大原则-迪米特原则
1、迪米特原则 如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用。如果其中一个类需要调用另外一个类的某一个方法的话,可以通过第三者转发这个调用。一个对象应该对其他对象保持最少了解,通俗讲就是一个类对自己依赖的类知道的越少越好,也就是对于被依赖的类,向外公开的方法应该尽可能的少。两点要义:(1)从被以来者的角度:只暴漏应该暴漏的方法或属性(2)从依赖者角度:只依赖...原创 2019-01-06 15:05:44 · 262 阅读 · 2 评论 -
设计模式六大原则-接口隔离原则
1、接口隔离原则 客户端不应该依赖它不需要的接口;一个类对另外一个类的依赖应该建立在最小的接口上。三层含义:(1)一个类对另外一个类的依赖应该建立在最小的接口上(2)一个接口代表一个角色,不应该将不同的角色都交给一个接口。因为这样可能会形成一个臃肿的大接口(3)不应该强迫客户依赖他们从不用的方法接口隔离原则的含义是:建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的...原创 2019-01-06 15:31:09 · 440 阅读 · 0 评论