美文网首页
设计模式

设计模式

作者: lxtyp | 来源:发表于2018-06-25 20:28 被阅读0次

六大设计原则

单一职责原则

Single Responsibility Principle
定义:应该有且仅有一个原因引起类的变更。
单一职责适用于接口、类,同时也适用于方法。
优势:
类的复杂性降低,实现什么职责都有清晰明确的定义;
可读性提高;
可维护性提高;
变更引起的风险性降低。

里氏替换原则

Liskov Substitution Principle
所有引用基类的地方必须能透明的使用其子类的对象。
4层含义:
1,子类必须完全实现父类的方法;
2,子类可以有自己的个性;
3,覆盖或实现父类的方法时输入参数可以被放大;
4,覆盖或实现父类的方法时输出结果可以被缩小。

优势:
代码共享,减少创建类的工作量,每个子类都拥有父类的方法和属性;
提高代码的重用性;
子类可以形似父类,但又异于父类;
提高代码的可扩展性;
提高产品或项目的开放性。
缺点:
继承时侵入性的,只要继承,就必须拥有父类的所有属性和方法;
降低代码的灵活性;
增强了耦合性。

依赖倒置原则

Dependence Inversion Principle
依赖倒置原则可以减少类间的耦合性,提高系统的稳定性,降低并行开发引起的风险,提高代码的可读性和可维护性。
三层含义
1,高层模块不应该依赖低层模块,两者都应该依赖其抽象;
2,抽象不应该依赖细节;
3,细节应该依赖抽象。

三种写法
1,构造函数传递依赖对象;
2,Setter方法传递依赖对象;
3,接口声明依赖对象。

本质是通过抽象(接口或抽象类)使各个类或模块的实现彼此独立,不互相影响,实现模块间的松耦合。我们需要遵循的几个规则:
1,每个类尽量都有接口或抽象类,或者两者都有;
2,变量的表面类型尽量。是接口或者是抽象类;
3,任何类都不应该从具体类派生;
4,尽量不要覆盖基类的方法;
5,结合里氏替换原则使用

接口隔离原则

Interface Segregation Principle
四层含义
1,接口要尽量小;
2,接口要高内聚;
3,定制服务;
4,接口设计是有限度的。

迪米特法则

Law of Demeter
也称为最少知识原则
一个对象应该对其他对象有最少的了解。
四层含义
1,只和朋友交流;
2,朋友间也是有距离的;
3,是自己的就是自己的;
4,谨慎使用Serializable。

开闭原则

Open Closed Principle
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。

工厂模式

抽象工厂模式

单例模式

建造者模式

原型模式

适配器模式

桥接模式

过滤器模式

组合模式

装饰器模式

外观模式

享元模式

代理模式

责任链模式

命令模式

解释器模式

迭代器模式

中介者模式

备忘录模式

观察者模式

状态模式

空对象模式

策略模式

模板模式

访问者模式

相关文章

  • 设计模式

    常用的设计模式有,单例设计模式、观察者设计模式、工厂设计模式、装饰设计模式、代理设计模式,模板设计模式等等。 单例...

  • 设计模式笔记汇总

    目录 设计原则 “依赖倒置”原则 未完待续... 设计模式 设计模式——策略模式 设计模式——装饰者模式 设计模式...

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • 浅谈JS的一些设计模式

    @(书籍阅读)[JavaScript, 设计模式] 常见设计模式 设计模式简介 设计模式概念解读 设计模式的发展与...

  • 前端设计模式

    JS设计模式一:工厂模式jS设计模式二:单例模式JS设计模式三:模块模式JS设计模式四:代理模式JS设计模式五:职...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • JavaJavascript基础进阶(十七)JS中常用的设计模式

    单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式 单利模式 构造原型设计模式 最贴近OOP...

  • 设计模式 - 目录

    设计模式01 - 单例模式 设计模式02 - 工厂模式 设计模式03 - 建造者模式 设计模式04 - 适配器模式...

  • 第1章 设计模式概述

    一、设计模式的概念 二、设计模式的历史 三、设计模式的要素 四、设计模式的分类 ■ 创建型设计模式 ■ 结构型设计...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

网友评论

      本文标题:设计模式

      本文链接:https://www.haomeiwen.com/subject/txluyftx.html