![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
Be_nurturing
这个作者很懒,什么都没留下…
展开
-
迪米特法则_6
迪米特法则1.一个对象应该对其他对象保持最少的了解2.类与类关系越密切,耦合度越大3.迪米特法则又叫做最少知道原则,即一个类对自己依赖的类知道的越少越好,也就是说,对于被依赖的类不管多么复杂,都尽量将逻辑封装在类的内部,对外除了提供的public方法,不对外泄漏任何信息4.迪米特法则还有个更简单的定义:只与直接的朋友通信5.直接的朋友:每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖组合,关联,聚合等。其中,我们称出现成员变量,方原创 2021-11-03 11:21:03 · 206 阅读 · 0 评论 -
开闭原则_5
开闭原则基本介绍1)开闭原则是编程中最基础,最重要的设计原则2)一个软件实体类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节3)当软件需要变化时,尽量通过扩展软件实体的行为来实现变化,而不是通过修改已有的代码来实现变化4)编程中遵循其他原则,以及使用设计模式的目的就是遵循开闭原则实现一个绘图的功能代码如下public class Ocp { public static void main(String[] args) {原创 2021-10-28 22:44:32 · 144 阅读 · 0 评论 -
里氏替换_4
里氏替换OO中的继承性的思考和说明1)继承包含这样一层意义,父类中凡是已经实现好的方法,实际上是设定规范和契约,虽然它不强制要求所有的子类必须遵循这些契约,但是如果子类对这些已经实现的方法任意修改,就会对整个继承体系造成破坏2)继承在给程序设计带来便利的同时,也带来了弊端。比如使用继承会给程序带来侵入性,程序的可移植性降低,增加对象的耦合性,如果一个类被其他的类所继承,则当这个类需要修改时,必须考虑到所有的子类,并且父类修改后,所有涉及到的子类的功能都有可能产生故障。3)问题提出,在编程中,如何正确原创 2021-10-27 22:59:57 · 138 阅读 · 0 评论 -
依赖倒转_3
依赖倒转原则基本介绍1)高层模块不应该依赖底层模块,二者都应该依赖其抽象2)抽象不应该依赖细节,细节应该依赖抽象3)依赖倒转(倒置)核心思想是面向接口编程应用实例编程完成Person接受消息的功能方式1分析1.简单,比较容易想到2.如果我们获取的对象是微信,短信等,则新增类,同时Person也要新增相应的接受方法3.解决思路:引入一个抽象的接口IReceiver 表示接受者,这样Person类与接口IReceiver发生依赖,因为Emial,微信 等属于接受的范围, 他们各自实现IRe原创 2021-10-26 22:49:25 · 117 阅读 · 0 评论 -
接口隔离_2
2 接口隔离原则客户端不应该依赖它不需要的接口,即一个类对应另一个类的以来应该建立在最小的接口上类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类D,如果接口Interface1对于类A和类C来说不是最小接口,那么类B和类D必须去实现他们不需要的方法。2.1应用实例类A通过接口Interface1依赖类B,类C通过接口Interface1依赖类D,public class Segregation1 { /** * A类通过接口Inteface原创 2021-10-26 22:33:49 · 72 阅读 · 0 评论 -
单一职责_1
1、单一职责对类来说,即一个类应该只负责一项职责,如果类A负责两个不同职责:职责1,职责2,当职责1需求变更改变A时,可能造成职责2执行错误,所以需要将类A的粒度分解为A1,A21.1应用实例方式1public class SingleResponsibility1 { public static void main(String[] args) { Vehicle vehicle = new Vehicle(); vehicle.run("摩托车");原创 2021-10-26 22:31:36 · 81 阅读 · 0 评论