作业二:读书笔记----软件设计原则、设计模式
| 这个作业属于哪个课程 | 2022软件代码开发技术 |
|---|---|
| 这个作业要求在哪里 | 读书笔记----软件设计原则、设计模式 |
| 这个作业的目标: | 阅读软件设计模式相关书籍并书写心得体会 |
参考书目:《深入浅出设计模式》

一、设计原则
六大原则:
- 单一职责原则:
就一个类而言,应该仅有一个引起它变化的原因。 - 开闭原则:
软件实体 (类、模块、函数等) 应该可以扩展 , 但是不可修改。
俗称 : 对于拓展是开放的,对于修改是关闭的 - 里氏替换原则:
一个软件实体如果使用的是一个父类的话,那么一定适用于其子类,而且它察觉不出父类对象和子类对象的区别。
即在程序中,把父类都替换成它的子类,程序的行为没有变化。 - 接口隔离原则:
也称接口最小化原则,强调的是一个接口拥有的行为应该尽可能的小。 - 依赖反转:
抽象不应该依赖细节,细节应该依赖于抽象
针对接口(抽象类)编程,不要对实现编程 - 迪米特原则 :
如果两个类不必彼此通信,那么这两个类就不应当发生直接的相互作用。
如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用
二、设计模式

在我日常时间开发中,让我印象深刻的是单例模式:
java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。
单例模式有以下特点:
1、单例类只能有一个实例。
2、单例类必须自己创建自己的唯一实例。
3、单例类必须给所有其他对象提供这一实例。
单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。
心得体会
此之前,我不知道什么时候使用抽象类或接口,或者为什么组合比继承更好。我通常会对每个特性和需求来进行编码,在完成更多的更改、更多的测试之后发现引入更多的bug。 可以说这本书的内容是非常基本的,但是只有掌握了基础知识才能更快学习更先进的东西。对于任何Java开发人员,包括有经验的和资深的开发人员,都必须阅读关于面向对象设计模式的书籍。我甚至建议可以从这本书开始学习设计模式。它不仅清晰地解释了概念,还提供了大量的图表、练习、测验和实际案例,让你思考和学习。
截图

浙公网安备 33010602011771号