本篇文章,主要是描述所有设计模式企图达到的目的。是设计程序的通用原则。
作为程序员,写程序是为了满足产品提出的需求。但是,往往需求是会变动的,为了减少因为需求变动引起所引起的代码修改量,我们需要降低各部分实现不同功能的代码的耦合度。
1)使得在每次接到某个功能的新需求时,只需要修改对应的功能部分即可,而需求不变的部分的代码则可以维持不变。
2)亦或者接到新的需求需要添加新的功能时,只需要添加新的功能模块即可,而不需要考虑和修改已经完成的功能模块。
这些,都可以通过面向对象编程的,封装、继承和多态实现。
通过,封装,我们可以把不同的功能部分,分开书写。如:运算类以实现运算,交互内以实现与用户交互。对应着目标1。
通过,继承,我们可以把实现同一个功能的不同方法、要求,分开书写。如:创建一个运算接口,实现类有:加、减、乘、除。添加功能时,只需要再次添加实现类即可。对应着目标2。这也是我们常说的,封闭-开放原则。
通过,多态,使得添加功能后,修改客户端代码时,可以用同一个父类的或者接口的引用,去指向不同的实现类实例,减少了想要不同的功能时的代码修改量。这就是类似于C++的动态联编所带来的效果。