软件设计模式概述

概述

软件设计内容

  • 软件体系结构 — 宏观设计,模块
  • 软件设计模式 — 中间级别,类,接口,模块
  • 数据结构与算法 — 微观设计,方法

是什么

设计经验的总结

七个常用原则

单一职责原则

就一个类而言,应该仅有一个引起他变化的原因

为什么
当一个类职责过多,一个职责的变化可能影响其他职责的能力,这种耦合导致了脆弱的设计

开闭原则

软件实体(类,模块,函数) 可以扩展,不可修改
对扩展开放,对修改封闭

为什么
需求是不断变化的,不可能一开始就能写出完美的代码,这时候就需要在需求到来时,尽可能少的修改原来的代码,扩展新的功能

里氏替代原则

子类型必须能够替换掉他们的父类型
如果一个软件实体,使用的是一个父类,那么一定适用于其子类,且他察觉不到父类对象于子类对象的区别,也就是说,在软件里面,把父类都替换成子类,程序的行为没有改变

也就是说,子类继承了父类,便可以以父类的身份出现

依赖倒转原则

1.高层模块不应该依赖低层模块,两个都依赖抽象
2.抽象不应该依赖细节,细节应该依赖抽象
针对接口编程,不要对实现编程

接口隔离原则

客户端不应该依赖那些他不需要的接口

合成复用原则

优先使用对象组合,而不是通过继承来达到复用的目的
在一个新的对象里面通过关联关系(包括组合,与聚合关系)来使用一些已有的对象,使之成为新对象的一部分,新对象通过委派调用已有对象的方法来到到复用功能的目的

迪米特法则

如果两个类不直接通信,那么这两个类就不应当发生直接的相互作用,如果其中一个类需要调用另一个类的摸一个方法的话,可以通过第三者来转发这个调用

为什么

使得软件可维护,易扩展易复用

怎么办

一些场景设计模式
请看下期

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值