《大话设计模式》第一章关于设计一个计算器程序。看完第一章深深地感觉到我存在这样的问题:碰到问题就直觉地用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。这样设计程序本身没有什么错误,但是程序不容易维护、不容易扩展、更不容易复用。从而达不到高质量代码的要求。
关于面向对象编程比较生动的例子:没有活字印刷术的三国时期,工匠从雕刻“喝酒唱歌,人生真爽”——“对酒当歌,人生真爽”——“对酒当歌,人生几何”。需求随时都在变,我们如何应对这种情况呢?
活字印刷术可以很好的解决这个问题,从“喝酒唱歌、人生真爽”——“对酒当歌,人生真爽”只需要用“对"替换掉“喝”,”当“替换掉”唱“即可。从”对酒当歌,人生真爽“——”对酒当歌,人生几何“只需要将”真爽“替换为”几何“就行。这就是我们设计必须可维护、可复用、可扩展和灵活性好。
在面向对象的分析设计编程思想,开始考虑通过封装、继承、多态把程序的耦合性降低,传统印刷术的问题就在于所有的字都刻在同一版面上造成耦合性太高所致,开始用设计模式使得程序更加的灵活,容易修改,并且易于复用。
从这次想到以后做涉及到界面项目时候,界面应该独立出来。即让计算和显示分开。即让业务逻辑与界面逻辑分开,降低耦合度,只有分离开,可以达到容易维护或扩展。