《构架之美》阅读笔记02
架构不良的设计无品质上的考虑,可维护性极差,运维成本高。
良好的架构有助于功能的增删改,任何一段代码,放在架构的哪一层,都是由架构设计好的。任何一点变更,都要遵循自顶向下的原则,先考虑到架构,再考虑到底层代码,而不是一上来就改代码,加代码。
良好的架构有助于功能的增删改,任何一段代码,放在架构的哪一层,都是由架构设计好的。任何一点变更,都要遵循自顶向下的原则,先考虑到架构,再考虑到底层代码,而不是一上来就改代码,加代码。
那系统的品质又有那些呢?其实就是我们通常所说的性能、安全、可伸缩性等都会被定义的很好,而诸如可变性,可维护性,可用性等并没有详细规定,架构师在这方面应该更要加深理解,以更好的满足品质的期望。
所以架构师的第一项任务就是和利益相关协作,理解这些品质的关注点和约束,并为他们排列优先级。
具体的系统还会有其他的关注点:
功能性:产品向它的用户提供哪些功能?
可变性:软件将来可能需要哪些改变?
性能:产品将达到怎样的性能?
容量:多少用户可以并发使用该系统?该系统将为用户保存多少数据?
生态系统:在不是的生态环境中,该系统将于其他系统进行哪些交互?
模块化:如何将编写软件的任务分解为工作指派?特别是这些模块可以独立的开发,并能准确而容易的满足彼此的需要。
可构建性:如何将软件构建成一组组件,并能够独立实现和验证这些组件?哪些组件应该复用?
产品化:如果产品将以集中变体的形式存在,如何开发一个产品线,并利用这些变体的共性?产品线中的产品以怎样的步骤开发等等。