作业二 读书笔记----软件设计原则、设计模式

这个作业属于哪个课程 班级的链接
这个作业要求在哪里 作业二
这个作业的目标 熟悉软件设计原则和设计模式

参考书籍:郑阿奇《软件秘笈:设计模式那点事》

设计原则

  • 单一职责原则(SRP: Single responsibility principle)

    • SRP要求每个模块职责单一
    • 一个类/接口/方法只负责一项职责
    • 优点:降低类的复杂度、提高类的可读性,提高系统的可维护性、降低变更引起的风险
  • 开放封闭原则(OCP: Open Closed Principle)

    • 软件实体应该对扩展开放,对修改关闭
    • 用抽象构建框架,用实现扩展细节
    • 优点:提高软件系统的可复用性和可维护性
  • 里氏替换原则 ( LSP: Liskov Substitution Principle)

    • 程序中的父类型都应该可以正确地被子类型替换
    • 子类可以扩展父类的功能,但是不能改变父类原有的功能。也就是说,在子类继承父类的时候,除了添加新的方法完成新增功能之外,尽量不要重写父类的方法
    • 子类可以实现父类的抽象方法,但是不能覆盖父类的非抽象方法
    • 子类中可以增加自己特有的方法
    • 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更加宽松
  • 接口隔离原则( ISP: Interface Segregation Principle)

    • 多个特定客户端接口要好于一个宽泛用途的接口
    • 一个类对一个类的依赖应该建立在最小的接口上
    • 建立单一接口,不要建立庞大臃肿的接口
    • 尽量细化接口,接口中的方法尽量少
    • 注意适度原则,一定要适度
    • 优点:符合我们常说的高内聚低耦合的设计思想,从而使得类具有很好的可读性、可扩展性和可维护性
  • 依赖倒置原则( DIP: Dependence Inversion Principle)

    • 模块之间交互应该依赖抽象,而非实现
    • 抽象不应该依赖细节;细节应该依赖抽象
    • 针对接口编程,不要针对实现编程
    • 优点:可以减少类间的耦合性、提高系统稳定性,提高代码可读性和可维护性,可降低修改程序所造成的风险
  • 迪米特原则(Law of Demeter)

    • 一个对象应该对其他对象保持最少的了解,又叫最少知道原则
    • 尽量降低类与类之间的耦合
    • 优点:降低类之间的耦合

设计模式

什么是软件设计模式?

  • 设计模式(Design Pattern)就是一套被反复使用、多数人知晓的、经过分类编目的代码设计经验的总结。使用设计模式的目的是为了提高代码的可重用性,让代码更容易被他人理解,使系统质量更加有保证、系统更加可靠。

设计模式分为三个类别,24种方法

  • 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
  • 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
  • 行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

详细方法

  • 创建型模式

  • 结构型模式

  • 行为型模式

心得体会

  • 我们为什么要学习设计模式呢?总之是为了获得可以复用和容易扩展的解决方案,建立通用术语以方便团队内的沟通交流,另外,模式能让你以更高的层次或者说视角去观察问题,这样的视角将你从过早处理细节的泥潭中解放出来。
  • 设计模式更多的是提供一种问题的解决方案,一种思想。为我们解决软件问题提供一个模板,让我们能够更好地实现软件的功能。

相关截图

posted @ 2022-03-05 19:53  清秋秋秋  阅读(83)  评论(0)    收藏  举报