栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

设计模式原则和分类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

设计模式原则和分类

本文参考 设计模式之七大基本原则

设计模式的六大原则
  1. 单一职责原则 (Single Responsibility Principle)
    单一职责原则表示一个模块的组成元素之间的功能相关性。从软件变化的角度来看,就一个类而言,应该仅有一个让它变化的原因;通俗地说,即一个类只负责一项职责。

  2. 开放-关闭原则 (Open-Closed Principle)

软件实体 (类、模块、函数等等) 应该是可以被扩展的,但是不可被修改。

  1. 里氏替换原则 (Liskov Substitution Principle)

所有引用基类的地方必须能透明地使用其子类的对象。子类可以扩展父类的功能,但不能改变父类原有的功能。
如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。

  1. 依赖倒转原则 (Dependence Inversion Principle)

高层模块不应该依赖低层模块,二者都应该于抽象。进一步说,抽象不应该依赖于细节,细节应该依赖于抽象。依赖倒转原则的核心就是要面向接口编程。

  1. 接口隔离原则 (Interface Segregation Principle)

使用多个专门的接口,而不使用单一的总接口,即客户端不应该依赖那些它不需要的接口。

  1. 迪米特法则(Law Of Demeter)

一个对象应该对其他对象保持最少的了解。
每个对象都会与其他对象有耦合关系,只要两个对象之间有耦合关系,我们就说这两个对象之间是朋友关系。耦合的方式很多,依赖、关联、组合、聚合等。其中,我们称出现成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类则不是直接的朋友。也就是说,陌生的类最好不要作为局部变量的形式出现在类的内部。迪米特法则的意思是只与直接的朋友通信

  1. 组合/聚合复用原则 (Composite/Aggregate Reuse Principle)

组合/聚合复用原则就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分; 新的对象通过向这些对象的委派达到复用已有功能的目的。
在面向对象的设计中,如果直接继承基类,会破坏封装,因为继承将基类的实现细节暴露给子类;如果基类的实现发生了改变,则子类的实现也不得不改变;从基类继承而来的实现是静态的,不可能在运行时发生改变,没有足够的灵活性。于是就提出了组合/聚合复用原则,也就是在实际开发设计中,尽量使用组合/聚合,不要使用类继承。
总体说来,组合/聚合复用原则告诉我们:组合或者聚合好过于继承。聚合组合是一种 “黑箱” 复用,因为细节对象的内容对客户端来说是不可见的。

设计模式类型

创建型:
工厂方法(factory method)模式
抽象工厂(abstract factory)模式
原型(prototype)模式
单例(singleton)模式 Java单例模式
建造者(builder)模式 Java 建造者模式

结构型:
适配器(adapter)模式
桥接(bridge)模式
组合(composite)模式 Java 组合模式
装饰(decorator)模式
外观(facade)模式 Java 外观模式
享元(flyweight)模式
代理(proxy)模式

行为型:
责任链(chain of responsibility)模式
命令(command)模式
解释器(interpreter)模式
迭代器(iterator)模式
中介者(mediator)模式
备忘录(memento)模式
观察者(observer)模式
状态(state)模式
策略(strategy)模式
模板方法(template method)模式
访问者(visitor)模式

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/352319.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号