Highly recommended for every software architect, system analyst/designer/manager and programmer!
初次了解这部剧是在知乎的一篇文章《逆风少女》,而我的观看体验也正如文章标题,非常兴奋,直呼过瘾!http://daily.zhihu.com/story/9667682
编剧从1970年就开始做程序员,拥有丰富的各种系统的开发和架构经验,人称Uncle Bob。在书中编剧基于自己的实战经验,用简单平实的语言和例子,阐述了软件架构的核定思想和原则。摘录几段如下:
- Software provides two different values : function and architecture. The 1st value is to make machines behave in a way that makes or saves money for the stakeholders. The 2nd value is to make software to be “soft”, that is, it must be easy to change for new requirements.
- The primary purpose of architecture is to support the life cycle of the system. Good architecture makes the system easy to understand, easy to develop, easy to maintain, and easy to deploy. The ultimate goal is to minimize the lifetime cost of the system and to maximize productivity.
- Good software begin with clean code. The SOLID principles tell us how to arrange our functions and data structures in to classes, and how those classes should be interconnected. The SOLID principles are: SRP - Single Responsibility Principle; OCP - Open-Closed Principle; LRP - Liskov Substitution Principle; ISP - Interface Segregation Principle; DIP - Dependency Inversion Principle.
- Components are the units of deployment. They are the smallest entities that can be deployed as part of a system, eg. jar files in Java. And the three principles of component cohesion are: REP - Reuse/Release Equivalence Principle; CCP - Common Closure Pri
用户评论 (9)