写点什么

软件设计的基本原则

用户头像
天天向上
关注
发布于: 2020 年 09 月 26 日

1、开闭原则

核心思想是对扩展开发对更改封闭,方法的重点是抽象。

1.1、模板方法

基类中定义基本的算法结构及操作,操作可以是抽象也可以是具体的,子类实现基类中的抽象接口。



1.2、策略模式



1.3、适配器模式



1.4、观察者模式



2、依赖倒置原则



3、里氏替换原则

如果对每一个类型T1的对象o1都存在一个类似T2的对o2,使得在所有针对T2编写的程序P中用o1替换o2后,程序P的行为功能不变,则T1是T2的子类型。

不仅仅要满足IS-A的静态关系,还要满足在程序中,子类可以替换父类。是判断继承是否合理的原则。



不符合该原则的解决方案有:1、模板方法;2、组合(优先使用)



继承的缺点:

继承破坏了封装,因为继承将基类更多的细节暴露给子类,因而继承被称为“白盒复用”。

当基类发生改变时,可能会层层影响其下的子类。

继承是静态的,无法在运行时改变组合。

类数量的爆炸。

4、单一职责原则

一个类只能有一个引起它变化的原因。

职责的定义:一个职责是一个变化的原因。



5、接口隔离原则

不应该强迫客户程序依赖它们不需要的方法。可以通过多继承或者适配器模式来改进。

用户头像

天天向上

关注

还未添加个人签名 2018.09.20 加入

还未添加个人简介

评论

发布
暂无评论
软件设计的基本原则