Jason's drunk words

Drunk more,talk more!

设计模式-面向对象编程

面向对象

多用组合少用继承

继承过多过深影响代码可读性,提高维护成本

设计原则与思想

单一职责原则 Single Responsibility Principle

如何理解单一职责

一个类(方法)只完成一件事
不要设计大而全的类(接口)
高内聚低耦合

如何判断是否职责单一

类或方法无法准确命名
依赖过多外部资源
代码行数过多,类的属性或者函数过多
类的方法都在集中操作某几个属性

拆分粒度是否越细越好?

考虑功能的相关性,避免低耦合过度失去高内聚,提高维护成本

开闭原则 Open/Closed Principle

对扩展开放,对修改关闭
合理设计,不要过度设计
职责单一,避免相互影响,保证稳定性

DRY

重复主要指:代码重复,语义重复,执行重复
代码重复指的是同样的代码出现在多个地方,这种情况可以通过抽取方法,工具类的方式解决
语义重复指的是相同的功能采用了不同的实现方法,出现在多个地方,这种情况可以通过抽取工具类的方法解决
执行重复指的业务上下文执行了同样的逻辑,一般是参数校验,格式化等,需要从业务角度梳理,去除不必要的重复执行
复用需要考虑扩展性,避免和业务耦合,保证代码的稳定性

规范与重构

重构是一个持续的过程,重构不光是代码级别的重构,也针对业务架构等
重构的前提是单元测试要覆盖到位

如何评价代码质量的高低

代码质量高低是通过综合各种因素得到的结论,常见的描述有可读性,可维护性,简洁性,灵活性等,对应的一般都是面向对象的几个特性。所以好的代码应该是面向对象的。

如何写出高质量的代码

需要掌握面向对象的思想,做好设计再写代码,在编码过程中灵活使用设计模式,遵循编码规范,不断的重构完善代码。