架构师训练营 -Week 02 学习总结

发布于: 2020 年 06 月 17 日
架构师训练营 -Week 02 学习总结

面向对象编程

面向对象编程的英文缩写是 OOP,全称是 Object Oriented Programming。

面向对象编程是一中计算机编程架构,它的基本原则是代码是以类或对象作为基本单元组成,OOP使得程序更有重用性、灵活性和扩展性。OOP的核心思想是:封装、继承、多态(重点是类和对象),

正是因为它丰富的特性,可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。

掌握面向对象编程核心是掌握面向对象分析和设计,面向对象分析和设计围绕着对象或类来做需求分析和设计的。分析和设计两个阶段最终的产出是类的设计,包括程序被拆解为哪些类,每个类有哪些属性方法,类与类之间如何交互等等。它们比其他的分析和设计更加具体、更加落地、更加贴近编码,更能够顺利地过渡到面向对象编程环节。

虽然我们用面向对象编程语言进行编程,但在日常的编程过程中,我们还是会使用面向过程编程,例如实现一个方法,里面写的方法逻辑基本都是面向过程,在面向对象编程语言中也存在大量的面向过程风格的代码。

设计原则

软件设计的最终目的是,是使软件达到“强内聚,低耦合”,设计原则是指导我们软件设计的一些经验总结,对于某些场景下,是否应该应用某种设计模式,具有指导意义。

常用的设计原则:

  • SOLID 原则

  • -SRP 单一职责原则SOLID 原则

  • -OCP 开闭原则SOLID 原则

  • -LSP 里式替换原则SOLID 原则

  • -ISP 接口隔离原则SOLID 原则

  • -DIP 依赖倒置原则DRY 原则

  • KISS 原则

  • YAGNI 原则

  • LOD 法则

设计模式

设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。大部分设计模式要解决的都是代码的可扩展性问题。设计模式相对于设计原则来说,没有那么抽象,而且大部分都不难理解,代码实现也并不复杂。

经典的设计模式有 23 种。随着编程语言的演进,一些设计模式(比如 Singleton)也随之过时,甚至成了反模式,一些则被内置在编程语言中(比如 Iterator),另外还有一些新的模式诞生(比如 Monostate)

常用的一些设计模式:

  • 单例模式

  • 工厂模式

  • 建造者模式

  • 代理模式

  • 桥接模式

  • 装饰器模式

  • 适配器模式

  • 观察者模式

  • 策略模式

  • 模版模式

  • 职责链模式

  • 状态模式

  • 迭代器模式

过度设计和设计不足

学习了这么多的设计原则和设计模式,想要完全掌握来做好软件设计不是一件容易的事,在设计的过程中,要记住设计为了解决问题,提高软件质量,不要脱离现实,要基于现实的场景进行去设计,场景是会变化的,持续的重构自己的设计也很重要,要具备这种思维去设计,当然也要明白设计原则和设计模式并不能解决所有的问题。

用户头像

华乐彬

关注

还未添加个人签名 2019.03.13 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营 -Week 02 学习总结