软件架构的实现设计总结

发布于: 2020 年 06 月 18 日

为什么使用面向对象设计

在软件编程语言的演化过程中,从最开始的汇编,BASIC, C等低级语言解决更具体的问题,发展到C++,JAVA,Go等面向对象语言,更方便的解决抽象的问题、复杂的问题。

UML软件架构设计,解决了领域模型的一些抽象概念,是更高一层的抽象,在软件编码中的具体实现也需要一些抽象,如面向对象的思维去编程,灵活运用继承,封装,多台的特性,达到面向对象设计的目标(高内聚,低耦合)。

如何使用面向对象设计

理解面向对象语言

面向对象的三要素

  1. 继承(接口重用)

  2. 封装(隐藏实现细节)

  3. 多态 (向上转型,对象互换,如圆形,矩形,三角形与几何形状的关系)

面向对象设计的基本原则

  1. 开闭原则(OCP)

  2. 对于扩展是开放的

  3. 对于变更是封闭的

  4. 不需要修改软件实体(类,模块,函数等)就能实现功能的扩展

  5. 依赖倒置原则(DIP)

高层模块不能依赖低层模块,都依赖于抽象。

抽象不依赖实现,而是实现依赖抽象。

核心规则(好莱坞规则,Dont't call me, I'll call you)

  1. Liskov替换原则(LSP)

子类型必须能够替换掉他们的基类型;

比如唐增出发的时候骑的是一匹普通的马,半路遇到白龙马了,这里白龙马就替换普通的马了。这里是符合LSP原则的。

举个反例:唐僧骑着白龙马去西天取经,把白龙马被换成了普通的马,这体验就变差了,这就不符合LSP原则了,小心被猴子找麻烦。

  1. 单一职责原则(SRP)

  2. 接口分离原则(ISP)

使用设计模式进行面向对象设计开发

设计模式是用于解决某一种问题的通用解决方案。

创建模式

  1. 抽象工厂模式

  2. 构建模式

  3. 工厂方法模式

  4. 原型模式

  5. 单例模式

行为模式

  1. 责任链模式

  2. 命令模式

  3. 解释器模式

  4. 迭代模式

  5. 中介者模式

  6. 备忘录模式

  7. 观察者模式

  8. 状态模式

  9. 策略模式

  10. 模板方法模式

  11. 访问者模式

结构模式

  1. 适配器模式

  2. 桥接模式

  3. 组合模式

  4. 装饰着模式

  5. 外观模式

  6. 享元模式

  7. 代理模式

用户头像

mh

关注

还未添加个人签名 2018.05.23 加入

还未添加个人简介

评论

发布
暂无评论
软件架构的实现设计总结