设计模式是关于软件设计的模式,正是教我们具体如何去增加这个抽象的间接层。要想直接,则先间接,以迂为直,则畅通无阻。做人要像水,做软件设计也要像水,遇到阻碍就绕个弯,没有跨不过去的坎。
同意,软件实质是一种解决方案,这也是IBM转型软件后以解决方案自居的原因,解决方案就是考验人处理事情的能力,因此,考验一个程序员能力强否,就看他平时处理一般事情的能力,如果普通事情都处理不好,那么做软件无疑是害了老板和客户。
老子的道经常用“水”来比喻,“厚德载物”中也有水的含义,厚德其实就是做人做事都要象水一样,知道这个道理并且去做,就算有德之人,长时间累积后便至“厚”。
在设计上对关注的分离,各对象的分工。
一个复杂逻辑可以分解成几个简单逻辑的组合,其关键在于结构,设计模式的结构就是基于MVC的。
利用结构来降低复杂度,这是OO的宗旨,当然也会反应到设计模式当中。
我个人还是强调先从结构来体会,那些间接,以及抽象都是为一个能够承载复杂度的结构来服务的。
猜你喜欢
本站原创《复杂软件设计之道:领域驱动设计全面解析与实战》