软件代码开发技术作业二
| 这个作业属于哪个课程 | 班级的链接 |
|---|---|
| 这个作业要求在哪里 | 读书笔记——软件设计原则、设计模式 |
| 作业目标 | 1. 培养自学习惯 |
| 2. 提升总结概括能力 | |
| 3. 理解并掌握软件设计原则和设计模式 | |
| 4. 改进代码编写习惯以及增强代码编写能力 |
参考书籍:
名称:《软件秘笈:设计模式那点事》
作者:郑阿奇
网址https://pan.baidu.com/s/1ntObMI1
1、设计原则
1)开闭原则:
对外使用开放,对内修改关闭的原则。不改动原有类的方式来实现新的需求,利用抽象出来的接口或者具体类继承抽象类的方式来实现。能够在不改动原有代码的前提下实现新功能,增强程序的可扩展性,同时降低程序的维护成本。
2)单一职责原则:
一个类或函数只允许由单一的职责。如果一个类具备多种职责,那么导致类变化的原因就有多种,维护就变得困难。职责划分清晰,不但可以提高代码可读性,并且能够降低出错风险,降低维护成本。
3)依赖倒置原则:
针对接口编程,尽量不产生具体类的派生,而是以继承抽象类或实现接口来实现。将业务层归于上层模块,逻辑层、数据层归于底层模块。通过抽象来搭建框架,建立类与类的关联,以减少类间的耦合性,使得功能实现稳定,扩展性高,便于维护。
4)接口隔离原则:
客户端不依赖不需实现的接口。接口应该尽可能细化,使得其中的方法尽可能少;同时也不应过少,使得设计复杂化。能够避免同一接口包含不同职责,符合高内聚低耦合的思想。
5)迪米特法则:
一个类应该之和它的成员变量、方法输入、返回参数的类交流,而不应引入其他类,发生间接交流。能够有效降低类与类间的耦合,减少类与类间的关联度,使得协作更加直接明了。
6)里氏代换原则:
所有引用基类的地方需要透明地使用其子类的对象,也就是说子类对象可以替换其父类对象,而程序执行效果不变。在继承体系中,子类中可以增加自己特有的方法,也可以实现父类的抽象方法,但是不能重写父类的非抽象方法,以保证正确的继承关系。能够检验继承使用的正确性,约束继承在使用上的泛滥。
7)合成/聚合复用原则:
尽量使用合成/聚合,而不使用继承。其中合成表示整体与部分的生命周期相等,关系不能共享,代表部分的对象在每一时刻只能与一个对象发生合成关系。聚合则是部分可以是整体的一部分,也可以脱离整体。在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新对象通过向这些对象的委派达到复用已有功能的目的。复用所需依赖少,黑箱复用,每个新对象都可将焦点集中与一个任务上。
遵守设计原则不但能使我们的代码维护难度大幅降低,同时还能提高代码健壮性、可复用性,降低维护成本等。
2、设计模式
设计模式是软件设计中常见的典型解决方案。它们就够根据需求进行调整的预制蓝图,可用于解决代码中反复出现的问题。
常见的设计模式方案
创造型模式:
工厂方法、抽象工厂、生成器、原型、单例等
结构型模式:
适配器、桥接、组合、装饰、外观、享元、代理等
行为模式:
责任链、命令、迭代器、中介者、备忘录、观察者、状态、策略、模版方法、访问者等
由于设计模式的实际使用不是按部就班,一成不变的。这是需要根据实际情况去设计、去改变原有的设计模式,使之更适合当前的软件开发情况。
示例:
图
二、读书心得
通过本次对设计原则及设计模式的学习,我深有感触,对于好的代码的编写更加充满希望并期盼自己能够对其有更加深入的学习与了解,使得自身代码编写能力有所提升,使程序注入灵魂。
......
三、相关截图


浙公网安备 33010602011771号