zoukankan      html  css  js  c++  java
  • 设计模式Design Pattern(1)简介

    什么是设计模式?

      软件开发人员在长期实践中总结出来的解决特定问题的一套解决方案。

    对象设计原则

    计模式主要是基于以下的面向对象设计原则。

    • 对接口编程而不是对实现编程。
    • 优先使用对象组合而不是继承。

    设计模式的六大原则

    1、开闭原则(Open Close Principle,OCP)

     对扩展开放,对修改关闭。关键步骤就是抽象化,使用接口和抽象类把业务抽象为基类,使得在程序需要进行拓展的时候,不去修改原有的代码,而增加新模块,实现一个热插拔的效果。

    2、里氏代换原则(Liskov Substitution Principle,LSP)

    简单理解就是,子类替换父类,子类把父类的抽象具体实现。LSP和OCP互为补充。

    3、依赖倒转原则(Dependence Inversion Principle,DIP)

    这个原则是开闭原则的基础,具体内容:针对接口编程,依赖于抽象而不依赖于具体。

    4、接口隔离原则(Interface Segregation Principle,ISP)

    类似于方法单一职责原则,一个接口干一件事,降低类之间的耦合度,即多个隔离的接口,比使用单个接口要好

    5、迪米特法则,又称最少知道原则(Demeter Principle,DP)

    让系统功能模块保持相对独立,一个实体应当尽量独立完成任务,尽可能不与其他实体之间发生相互作用。

    6、合成复用原则(Composite Reuse Principle,CRP)

    积木化思想尽量使用合成/聚合的方式,而不是使用继承。

    设计模式类型

    常用的设计模式有25 种。这些模式可以分为三大类:

      (1)创建型模式(Creational Patterns) 

      (2)结构型模式(Structural Patterns)

      (3)行为型模式(Behavioral Patterns)

    创建类型(5种)

    • 工厂模式(Factory Pattern)
    • 抽象工厂模式(Abstract Factory Pattern)
    • 单例模式(Singleton Pattern)
    • 建造者模式(Builder Pattern)
    • 原型模式(Prototype Pattern)

    结构型模式(8种)

    • 适配器模式(Adapter Pattern)
    • 桥接模式(Bridge Pattern)
    • 过滤器模式(Filter、Criteria Pattern)
    • 组合模式(Composite Pattern)
    • 装饰器模式(Decorator Pattern)
    • 外观模式(Facade Pattern)
    • 享元模式(Flyweight Pattern)
    • 代理模式(Proxy Pattern)

     行为型模式(12种)

    • 责任链模式(Chain of Responsibility Pattern)
    • 命令模式(Command Pattern)
    • 解释器模式(Interpreter Pattern)
    • 迭代器模式(Iterator Pattern)
    • 中介者模式(Mediator Pattern)
    • 备忘录模式(Memento Pattern)
    • 观察者模式(Observer Pattern)
    • 状态模式(State Pattern)
    • 空对象模式(Null Object Pattern)
    • 策略模式(Strategy Pattern)
    • 模板模式(Template Pattern)
    • 访问者模式(Visitor Pattern)
    如果该文章对你有所帮助,请点个赞支持下,谢谢!
  • 相关阅读:
    Android -- junit测试框架,logcat获取log信息
    【Android】ADB常用指令与logcat日志
    Android -- UI布局管理,相对布局,线性布局,表格布局,绝对布局,帧布局
    Unicode的解救方案
    第一个程序
    Windows程序设计第五版
    愉快的开始
    图形用户界面入门:EasyGui
    丰富的else语句及简洁的with语句
    异常处理:你不可能总是对的2
  • 原文地址:https://www.cnblogs.com/lfhappy/p/10948457.html
Copyright © 2011-2022 走看看