zoukankan      html  css  js  c++  java
  • 【学习笔记】23种设计模式与7大设计原则(更新中)

    大图镇楼

    设计模式的七大原则

    设计模式是一种经验复用。其中最重要的经验是解耦。

    以下这些原则需要自己构想出案例来解释,否则需要重新学习。

    开闭原则OCP(Open-Closed Principle)

    在软件实体(如类、函数)中,对扩展开放,对修改关闭。核心在于面向抽象编程。

    里式替换原则LSP(Liskov Substitution Principle)

    继承必须确保超类所拥有的性质在子类中依然成立。具体表现为:

    子类可以实现父类的抽象方法,但是不能覆盖非抽象方法。
    子类可以增加自己的方法。
    当子类重载父类的方法时,方法的前置条件(即入参)要比父类的入参更宽松。
    当子类实现(重载/重写/实现抽象方法)父类的方法时,后置条件(返回值)要比父类更严格或者相等。

    依赖倒置原则DIP(Dependence Inversion Principle)

    设计代码结构时,高层模块不应该依赖底层模块,而是依赖其抽象。抽象不应该依赖细节,细节应该依赖抽象。

    单一职责原则SRP(Single Responsibility Principle)

    不要存在多余一个导致类变更的原因。

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

    高内聚低耦合。

    一个类对其他类的依赖应建立在最小的接口之上。
    建立单一的接口,不建立庞大臃肿的接口。
    尽量细化接口,接口中的方法应适度。

    迪米特法则 Law of Demeter, LoD(最少知道原则, LKP, Least Knowledge Principle)

    一个对象对其他对象应该保持最少的了解,尽量降低类与类之间的耦合。

    合成复用原则 Composite Reuse Principle, CRP(组合/聚合复用原则 CARP, Composition/Aggregate Reuse Principle)

    在软件复用时,要尽量先使用组合 has-a 或聚合 contains-a 等关联关系来实现。

    继承称之为白箱复用,组合称之为黑箱复用。常用的依赖注入其实就是组合。

    23种设计模式

    工厂模式

    介绍三种,简单工厂,工厂方法,抽象工厂,其中简单工厂不包含在23种中。

    简单工厂:Simple Factory Pattern

  • 相关阅读:
    phpstrom+xdebug+chrome+postman调试工具搭建
    Docker常用命令
    使用nginx+docker配置https负载均衡
    LVS三种模式的区别及负载均衡算法
    ELK Betas 6.0安装及使用
    Excel从低级到中级
    我回来了,哈哈
    刷电信版s710d卡在htc开机画面的解决办法
    基于cocos2d-android-1的FlyppyBird
    利息?hii
  • 原文地址:https://www.cnblogs.com/yanqiang/p/14209452.html
Copyright © 2011-2022 走看看