软件架构学习之入门

参考书籍:软件架构设计第2版 温昱

架构视图

视图是对于某一视角或某一点上看到的系统所作的简化描述,描述中涵盖了系统的某一特定方面,而省略了与此方面无关的实体。这是因为架构要涵盖的内容和决策太多了,超过了人脑的处理能力,因此采用“分而治之”的办法从不同的视角分别设计。


只有多做设计,多研究别人的设计才能更快的了解架构设计。

模块划分

功能树

作为需求分析的成果,功能树是一种功能表达结构,它将“功能大类”、“功能组”和“功能项”的隶属与支持关系以“树”的形式呈现出来。

将“功能组”对应到大粒度“功能模块”,可以实现模块内的高内聚、模块间的松耦合。

分层

分层架构的设计思想就是“封装”,封闭外部交互,这样这些层只需要专注于本身的问题领域,不需要了解其他层的实现细节。

框架的初步认识

软件系统中的机制,是指预先定义好的、能够完成预期目标的、基于抽象角色的协作方式。机制不仅包含协作关系,同时也包含了协作流程。

框架是可以通过某种回调机制进行扩张的软件系统或子系统的半成品。框架的智慧在于:为了追求重用所带来的价值量最大化,将容易变化的部分封装成扩展点,并辅以回调机制将它们纳入框架的控制范围之内,从而在兼顾定制开销的同时使被重用的设计成果最多。需要指出,“软件重用”中有一对矛盾:“重用机率”大小和“重用所带来的价值量”大小,就是说软件单元的粒度越大,则重用所带来的价值越大,但重用的机率越小,反之亦然。

你可能感兴趣的:(软件架构学习之入门)