《简单之美》这本书的内容有些另类,毫不似书名所呈现的中规中矩,但确实体现了一种美,是一种简单到极致的优雅,彷佛又繁复如星空般的深邃,包容如峭立千仞之高的山壁。这是一本能够称之为轻松加愉快的思想随笔,又是一篇如杜拉拉升职记般的职场小说,它还贯穿了整个软件开发过程,揭露了从方法论、需求、架构设计、编码实现,到测试与维护以及团队管理的诸多要诀。这正是本书的另类之处。 架构
我在阅读本书时,不由自主地被放在书中每章篇首的实践场景所吸引,甚至忽略了本书的重要内容,直接根据提示转到下一个章节的实践场景,一鼓作气,直到将这些实践场景阅读完毕。做者挥洒自如的文笔,入木三分的人物刻画,以及细腻含蓄的情感描写,将我完全吸引住了。在大结局中,孔如之与儿子在阳光中巴黎圣母院前的对话,让人意犹未尽,彷佛满怀但愿,却又历尽沧桑,真是让我产生“情何以堪”的感慨。 框架
这是本书感性的一面了。只是看完这9篇由实践场景片断组成的小说,就已经值回票价了。而从技术书籍的角度来看,本书的意义显然并不在于此,做者完整地勾勒出软件开发的全貌,诸多感悟与体会均可以成为软件开发人员的重要借鉴。做为本书理性的一面,这些内容须要反复阅读和分析琢磨,才能引发你的共鸣,许多模糊在心头的概念,在做者简明扼要的叙述下,或许就会产生“拨开云层见月明”的感悟。 ide
以本书第4章为例。做者给出了一个简单的实例描述了框架构建的过程。首先从背景描述出发,展示了对保险业务中对保单进行处理的需求功能。这段背景描述将复杂的保险需求阐述得很是清楚而富有条理,体现了做者撰写文档的高超能力。 测试
接下来是做者对这一背景描述的抽象。这段抽象有理有据,较好地体现了从需求捕获到分析的过程演变,利用抽象搭建了基本的领域模型。紧接着是对约束的思考,这是架构师必须完成的工做。根据对需求的抽象和关于约束的思考,就可以作出合理的架构决策。做者在本书中反复强调的“使用天然语言和讲故事的方式”,经过实例获得了具体的展示。事实上,在Joel on software一书中,Joel Spolsky也提出了一样的观点,认为经过讲故事的方式描述用例场景,能够更好地促进理解与交流。本书做者扩大了这种方式的应用范围,引入到架构设计过程当中。对这一作法,我深表赞同。事实上,我在架构过程当中,也经常采用相似手法,经过在文档撰写设计的故事场景,帮助我梳理设计思路,有时候,甚至在文档中自问自答,在这样的编写过程当中我慢慢找到了解决方案。 编码
本书对领域模型的讨论也有着我的独到的看法。例如他对静态模型和动态模型的分类,又例如他提出了使用贫血模型的好处。在Martin Fowler提出贫血模型以后,业界曾经掀起过对贫血模型与充血模型的争论。然而,争论到了最后,也没有一个确切的结果。从经典的OO原则来看,它要求将对象的数据和行为组织在一块儿,这正是批判贫血对象的主要论据。我比较倾向于这个观点,认为对象没有行为,就是“死”的,缺少自治的能力。但在实际开发过程当中,我也经常体会到贫血模型的好处,尤为是在模型重用与解耦方面,贫血模型都有其显著的优点。本书做者认为,贫血模型的“第一个好处是,有利于信息交换。第二个好处是,清晰了对象的职责。第三个好处是,实体对象(贫血对象)的实现更加灵活。第四个好处是,能够确保实体对象(贫血对象)只能在内存中用于计算。”这些好处都说到了点子上。虽然,我对于贫血对象的使用仍然抱有谨慎态度,但本书对此的阐述依旧给我提供了不错的参考。 架构设计
在项目管理方面,书中强调了“负责制度”的实施。这首先关系到责任定位的问题。项目延迟或失败,到底是项目管理的问题,仍是架构设计的问题?是编码实现的问题,仍是测试维护的问题?做者认为,负责制度的缺失可能会影响项目的质量。书中提到:“在软件开发过程当中,人是最重要的因素,而责任、权利和利益是保证这个因素发挥做用的关键。”“创建负责制度的目的,不是为了惩罚某人,也不是为了永久取消某人的职业发展权利,它只是经过责任人利益损失的形式,来代表这样一个事实:没有金刚钻,别揽瓷器活。”事实上,负责制度的关键不在于制度的确立,而在于执行。若是没有建立公平、公开、公正的执行环境,这种制度只会给软件开发带来负面影响。这也是做者仅仅提出问题,却没有给出好的答案缘由所在。相对而言,我我的更倾向于Scrum“回顾会议”,在基于迭代与渐进式开发的基础上,这种方式更可以有效解决项目开发中存在的问题。 设计
假若是新手阅读本书,因为缺少足够的工做阅历与开发经验,很难理解做者写做的意图。但咱们绝对不能由于这种认识上的障碍,而将本书拒之千里以外。事实上,越早阅读本书,越可以开拓读者的眼界,提早感觉业界的真实与谎话,反而可以帮助新手更快地确立本身的职业生涯规划。对于混迹行业多年的老鸟而言,阅读本书,必定能找到那些似曾相识的画面。做者对技术的深刻探讨,也必定能给予咱们启发,即便观点不一样,也能够求同存异。所谓“嘤其鸣矣,求其友声”,这是我在阅读本书时收获的如遇旧友般的快乐!对象