软件构造第6章

高内聚 低耦合

模块内,相似接口应当聚合在一起,

低耦合度,指模块之间应该尽量少的共享信息。

 

Solid

SRP 单一责任原则:一个类只负责一个事,方便理解,以后出错也好问责。

 

OCP 开放封闭原则:对扩展开放,对修改封闭,一个模块可以通过增加新的扩展项来进行修改,尽量少动写好的代码。

高内聚低耦合

 

LIP Liskov替换原则:看第3章

 

ISP 接口隔离原则:把大接口拆小一点,要不有的类在实现大接口时会有用不到的方法,放着不好看。

 

DIP 依赖转置原则:多用点儿接口,先用接口连接思路,之后在填充具体类。反着来很别扭,这样最舒服。

 

面向可维护性的设计模式

creational patterns

 

Factory Method :通过工厂类创建实例。减少与实例类的联系,OCP

 

Abstract Factory:通过不同实现抽象工厂的类,通过委派方式生产出好几套不同的搭配,不同的套餐。

Builder :就像组装电脑的配置单,先在builder中利用builder中的方法灵活的生成一个实例,之后直接调用builder的get得到实例。通常各个builder都是实现了某个抽象builder的子类。

 

 

structural patterns

Bridge:建立一个永久的委托关系,有点儿像Strategy不过这里的委托是永久的。运行时再建立关系。

 proxy 代理模式:

委托方法防止用户直接访问复杂实例,还可以保存实例留待下次使用。

 Composite

在类中添加一个集合成员来保存下层实例,实现上下层结构

 Observer 模式

偶像存储着Observer列表,一有改变就通知全体Observer,集体通知方式为调用Observer的update()方法,Observer自然也存储着偶像的实例,在update函数中直接获取偶像信息。一个一对多模式。Observer是接口,Observable是抽象类。

 

 visitor 模式:

太像Stratege模式了,不过就是传入strategy进行委托的那种,但不同的是这个visitor可以是多个ADT的策略,也就是他可以是不同类在操作时的策略。visitor内部通过重载多不同参数进行操作,委托的类通过accept(visitor v)接受visitor并把自己委托给visitor。

 

Mediator:偶像作为媒介,开始线上交友模式,Observer中广播偶像变化,Mediator中就广播粉丝变化,有点儿像聊天软件。

 

Command:将指令command封装成对象,由一个控制control终端接受。

 

链式处理:链式处理请求。不满足就到下个handler中请求。

 

State 模式:

类中委托一个状态类,调用move(char c)函数时委托给state,在state的函数中返回新的状态,这个类再进行状态更新。state通过singleton模式,只有一个作为成员变量的实例,需要时返回这个实例。accept是用于判断这个状态是否可以作为结束状态。

 Memento:三个类, Originator要备忘的类,备忘时把状态信息存在一条新的备忘类中,准备一个caretaker类存储一个备忘类列表。

正则表达式,简化后一条不带递归的生成式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值