所有编程初学者都会有这样的问题,就是碰到问题就直觉地用计算机能够理解的逻辑来描述和表达待解决的问题及具体的求解过程。这本身没有错,但这样的思维却使得我们的程序只为满足实现当前的需求,程序不容易维护,不容易扩展,更不容易复用。
中国古代四大发明,另三种都是科技的进步,伟大的发明或发现。只有活字印刷术较之之前的刻板印刷是思想的成功。所以它跟面向对象编程思想有很多相似之处:第一,要改,只需要改要改之字,此为可维护;第二,这些字并非用完一次就无用了,完全可以在后来的印刷中重复使用,此为可复用;第三,要印刷的文章要加字,只需要另刻字加入即可,此为可扩展;第四,字的排列可能是横排也可能是竖排,此时只需要将活字移动就可以满足排列需求,此为灵活性好。面向对象编程思想要考虑通过封装、继承、多态把程序的耦合度降低,传统印刷术的问题就在于所有的字都刻在同一版面上造成耦合度太高所致,要考虑用设计模式使得程序更加的灵活、易于修改、易于复用。
编程是一门技术,更加是一门艺术,不能只满足于写完代码运行结果正确就完事,时常要考虑如何让代码更加简练,更加易于维护,易于扩展,易于复用,只有这样才可以真正的提高,只有追求完美才可以真正提高。写出优雅的代码真是很爽的事情。UML类图是理解面向对象的开始。
设计模式:是指在软件开发中,经过验证的,用于解决在特定环境下,重复出现的,特定问题的解决方案。设计模式起源于建筑行业,一位叫Alexander的建筑师发现并总结了一些建筑行业的设计模式。在1995年,由Erich Gamma、Richard Helm、Ralph Johnson、Jhon Vissides合著的《设计模式—可复用面向对象软件的基础》一书拉开了软件业设计模式的序幕,这四人就是大家熟知的GoF(Gang of Four 四人帮)