作为一名程序员,总要经历从小规模的局部编码转换到大型软件设计、开发的过程。在此过程中,在熟悉了编程语言后,需要将眼光上升一个层面,从整体去把握整个软件的架构,针对一个行业的具体业务,能够设计一个合理的架构,提高软件的可靠性、可维护性、可复用性。就像一位经验丰富的同事所说:“不要只写代码,要爱代码”。
编码是一门艺术,绝不是简单的字符罗列。
在同事的极力推荐下,开始学习《Java与模式》这本书,并且希望通过记录对其中一些理念的理解和一些不明晰的问题,和大家一起分享学习的过程。
设计模式的鼻祖是建筑工程学家Christopher Alexander。它涵盖了科学、心理、艺术、哲学,不仅适用于建筑工程学,而且适用于软件工程学以及其他的工程学。设计模式把面向对象的理念发挥到了极致,对于学多重复出现的问题,提出了既优雅又实际的解决方案。如今,作为高级软件工程师不了解设计模式,不能熟练地使用几个设计模式,说起孤陋寡闻,恐怕也不过分。