读书笔记----软件设计原则、设计模式
作者:互联网
这个作业属于哪个课程 | <2022软件代码开发技术> |
---|---|
这个作业要求在哪里 | <读书笔记----软件设计原则、设计模式> |
这个作业的目标 | 了解软件设计原则、设计模式 |
参考书籍:郑阿奇《软件秘笈:设计模式那点事》
内容归纳总结
一、设计原则
设计原则 | 个人理解 |
---|---|
单一职责原则 (Single Responsibility Principle) | 一个模块的组成元素之间的功能相关性 一个类只负责一项职责 提高了代码的可读性,提高系统的可维护性 |
开放-关闭原则 (Open-Closed Principle) | 软件实体类、函数等可进行拓展,但不可以修改 开放拓展,关闭修改 |
里氏替换原则 (Liskov Substitution Principle) | 子类可以扩展父类的功能,但不能改变父类原有的功能 不影响原功能 |
依赖倒转原则 (Dependence Inversion Principle) | 面向接口编程,依赖抽象 |
接口隔离原则 (Interface Segregation Principle) | 一个类对另一个类的依赖应该建立在最小的接口上 尽可能细化接口,让接口中的方法更少 |
迪米特法则(Law Of Demeter) | 一个对象应该对其它对象保持最少的了解。让系统功能模块相对独立 |
组合/聚合复用原则 (Composite/Aggregate Reuse Principle) | 在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分 新的对象通过向这些对象的委派达到复用已有功能的目的 |
二、设计模式
创建型模式
-
工厂方法模式
通过使用一个共同的接口来指向新创建的对象,实际创建实例对象的工作推迟到子类当中,核心工厂类不再负责具体产品的创建。
-
抽象工厂模式
接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂都能按照工厂模式提供对象。
-
建造者模式
使用多个简单的对象一步一步构建成一个复杂的对象。
-
原型模式
实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。
-
单例模式
一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。
结构型模式
-
适配器模式
一个单一的类,该类负责加入独立的或不兼容的接口功能。
-
桥接模式
把抽象化与实现化解耦,使得二者可以独立变化。通过提供抽象化和实现化之间的桥接结构,来实现二者的解耦。
-
组合模式
创建了一个包含自己对象组的类。该类提供了修改相同对象组的方式。
-
装饰器模式
允许向一个现有的对象添加新的功能,同时又不改变其结构。
-
外观模式
它向现有的系统添加一个接口,来隐藏系统的复杂性。
-
享元模式
重用现有的同类对象,如果未找到匹配的对象,则创建新对象。
-
代理模式
一个类代表另一个类的功能。创建具有现有对象的对象,以便向外界提供功能接口。
行为型模式
-
责任链模式
通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者。
-
命令模式
请求以命令的形式包裹在对象中,并传给调用对象。
-
解释器模式
实现了一个表达式接口,该接口解释一个特定的上下文。用于SQL解析等方面。
-
迭代器模式
用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。
-
中介者模式
用来降低多个对象和类之间的通信复杂性。
-
备忘录模式
保存一个对象的某个状态,以便在适当的时候恢复对象。
-
观察者模式
当一个对象被修改时候,就能通知它依赖的对象并且自动更新,需要建立一套触发机制。
-
状态模式
允许对象在内部状态发生改变时改变它的行为。对象的行为依赖于它的属性,可以根据状态改变来改变它的行为。
-
策略模式
一个类的行为或其算法可以在运行时更改。
-
模板模式
一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。
-
访问者模式
元素的执行算法可以随着访问者改变而改变。符合单一职责原则、但违反迪米特原则。
心得体会
在之前有使用过MVC架构来做一个javaWeb的关于管理系统的网页,并没有太多的在意设计模式,只是简单的了解以下MVC该如何进行使用。
了解了MVC将程序结构划分为三层,每一层都对外提供了可供上层调用的接口,既能维系三层之间的联系,也能保持相对的独立性。
View表示视图层,负责数据的可视化。Controller通常控制器用来从视图读取数据,并发送给对应的模型处理,再将结果反馈给视图显示。
Model模型是用于处理应用程序中业务数据和逻辑的部分,负责直接与数据库打交道。
在学习了设计模式之后,了解了各个设计模式不同的优缺点、以及它们运用的场景。发现MVC耦合性低,而且可以与工厂模式结合进行开发,
让代码的功能划分更加明了。
希望在今后,可以逐渐运用上这些开发模式。
标签:读书笔记,对象,接口,----,一个,模式,设计模式,Principle 来源: https://www.cnblogs.com/zjh808/p/15971429.html