3、面向对象、设计原则、设计模式、编程规范、重构之间的关系

一、面向对象

现在主流的编程范式有三种:面向过程、面向对象和函数式编程,而面向对象又是其中最主流的。
面向对象因其具有丰富的特性(封装、抽象、继承、多态),可以实现很多复杂的设计思路,是很多设计原则、设计模式编码实现的基础。
面向对象的四大特性:封装、抽象、继承、多态
面向对象编程与面向过程编程的区别和联系
面向对象分析、面向对象设计、面向对象编程
接口和抽象类的区别及各自的应用场景
基于接口而非实现
多用组合而非继承
面向过程的贫血模型和面向对象的充血模型

二、设计原则

设计原则是指导我们代码设计的一些经验总结,对于在某些场景下,是否应该应用某种设计模式具有指导意义。如“开闭原则”是很多设计模式(策略、模板等)的指导原则。
对于每一种设计原则,我们需要掌握它的设计初衷,能解决哪些编程问题,有哪些应用场景,进而才能在项目中灵活恰当的应用这些原则。
SOLID原则:SRP单一职责、OCP开闭、LSP里氏替换、ISP接口隔离了、DIP依赖倒置
DRY、KISS、YAGNI、LOD

三、设计模式

应用设计模式的主要目的是提升代码的可扩展性。从抽象程度上来讲,设计原则比设计模式更抽象,设计模式更加具体,更加可执行。
设计模式是针对软件开发中经常遇到的一些设计问题,总结出来的一套解决方案或者设计思路。学习难点是了解它们都能解决哪些问题,掌握典型的应用场景,并且懂得不过度应用。

1、创建型

常用:单例、工厂(工厂方法、抽象工厂)、建造者
不常用:原型

2、结构型

常用:代理、桥接、装饰器、适配器
不常用:门面、组合、享元

3、行为型

常用:观察者、模板、策略、责任链、职责链、迭代器、状态
不常用:访问者、备忘录、命令、解释器、中介

四、编程规范

编程规范主要解决的是代码的可读性问题。编码规范相对于设计原则、设计模式,更加具体、更加偏重代码细节、更加能落地。持续的小重构依赖的理论基础主要就是编程规范。
编程规范每条编码规范都非常简单、明确、偏向于记忆,不像设计原则,需要融入很多个人的理解和思考。如如何给变量、类、函数命名、如何写注释、函数不宜过长、参数不能过多等等。

五、代码重构

在软件开发中,只要软件在不停的迭代,就没有一劳永逸的设计,重构是软件开发中非常重要的一环。
重构是保持代码质量不下降的有效手段,而重构的工具就是面向对象设计思想、设计原则、设计模式、编码规范这些理论。
在开发初期,除非特别必须,我们一定不要过度设计应用复杂的设计模式。而是当代码出现问题的时候,我们再针对问题,应用原则和模式进行重构,这样就能有效避免前期的过度设计。

  • 重构的目的(why)、对象(what)、时机(when)、方法(how)
  • 保证重构不出错的技术手段:代码的可测试性、单元测试
  • 两种规模的重构:大重构、小重构
    在这里插入图片描述
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值