在开始讲设计原则之前,先说说为什么要提这些苦涩无味的知识,相信看这篇文章的人,都是想提升自己,写出更好的的代码。那么什么样的代码是优秀的代码?
最普遍的答案是:可读性强、可维护性、可扩展性高
为了实现以上的特点,我们需要借助面向对象设计,遵循知名设计原则,利用设计模式等多种方式来实现。因此本章会介绍一些业界知名的设计原则,希望能给你带来一点思考。
⼀个类只负责完成⼀个职责或者功能。
开闭原则简言而知:对扩展开放、修改关闭。添加⼀个新的功能,应该是通过在已有代码基础上扩展代码(新增模块、类、⽅法、属性等),⽽⾮修改已有代码(修改模 块、类、⽅法、属性等)的⽅式来完成。
⼦类对象(object of subtype/derived class)能够替换程序(program)中⽗类对象(object of base/parent class)出现的任 何地⽅,并且保证原来程序的逻辑⾏为(behavior)不变及正确性不被破坏。
客户端不应该强迫依赖它不需要的接⼝
KISS 原则:尽量保持简单
YAGNI 原则:You Ain’t Gonna Need It 当前不需要的就不要做,不要过度设计
不要写重复的代码