其他分享
首页 > 其他分享> > 读书笔记----软件设计原则、设计模式

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

作者:互联网

这个作业属于哪个课程 <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