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

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

参考书目:《深入浅出设计模式》

一、设计原则

六大原则:

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

二、设计模式


在我日常时间开发中,让我印象深刻的是单例模式:
java中单例模式是一种常见的设计模式,单例模式的写法有好几种,这里主要介绍三种:懒汉式单例、饿汉式单例、登记式单例。
  单例模式有以下特点:
  1、单例类只能有一个实例。
  2、单例类必须自己创建自己的唯一实例。
  3、单例类必须给所有其他对象提供这一实例。
  单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。在计算机系统中,线程池、缓存、日志对象、对话框、打印机、显卡的驱动程序对象常被设计成单例。这些应用都或多或少具有资源管理器的功能。每台计算机可以有若干个打印机,但只能有一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免一个通信端口同时被两个请求同时调用。总之,选择单例模式就是为了避免不一致状态,避免政出多头。

心得体会

此之前,我不知道什么时候使用抽象类或接口,或者为什么组合比继承更好。我通常会对每个特性和需求来进行编码,在完成更多的更改、更多的测试之后发现引入更多的bug。 可以说这本书的内容是非常基本的,但是只有掌握了基础知识才能更快学习更先进的东西。对于任何Java开发人员,包括有经验的和资深的开发人员,都必须阅读关于面向对象设计模式的书籍。我甚至建议可以从这本书开始学习设计模式。它不仅清晰地解释了概念,还提供了大量的图表、练习、测验和实际案例,让你思考和学习。

截图

posted @ 2022-03-06 22:26  123iok  阅读(114)  评论(0)    收藏  举报