之前我写过几篇博客,关于《架构漫谈》读后感,书中详细阐述了什么是架构,为什么要架构,如何架构三大核心问题。

  那么什么是架构呢?

     首先,要根据需要解决的问题,对目标系统的边界进行界定。然后对目标系统按某个原则进行切分,并且使这些部分可以进行有机的联系,完成目标系统的所有工作。

  架构设计一般分为三个阶段,PA阶段,CA阶段,RA阶段。今天,我们主要聊一聊关于系统架构过程的细化部分。我们经常误以为架构和方案描述的同一种方法,但其实方案和架构是不同的概念,方案包含一定的架构内容,方案涉及架构基本在概念一级,架构设计的工作在方案中还远未完成。

  下面主要介绍RA阶段的架构细化方法:1.接口,在细化架构中占核心地位,概念架构不关心接口的使用和实现2.子系统,细化架构重视通过子系统和模块来分割整个系统,并且子系统有明确的接口;而概念架构中只有抽象的组件,这些组件是没有接口的。3.交互机制,细化架构基于接口编程,消息机制或远程方法调用进行实在的交互,而概念架构的交互是概念化的。

  那么如何进行软件架构呢,一千个人眼中有一千个哈姆雷特,不同涉众看待软件架构的视角也是不同的:

  

 

 

  在细化架构的过程中,概念架构,细化架构以及实际开发实现是有逻辑关系的:

  

 

 

  我们了解了基本概念之后,就要掌握如何进行细化架构。

  细化架构的实践要领就是-多视图:

  5视图方法,每一个视图代表每一个思维角度,包括逻辑视图,物理视图,开发视图,数据视图,运行视图

  

 

 

  以下将会围绕这五个视图进行分别介绍:  

  逻辑架构包括分层的细化,分区的引入以及机制的提取。

  1.分区引入:分区引入是指架构中引入分区,支持深度优先的迭代开发

  2.机制的提取:基于接口(或抽象类)的协作是机制,基于具体类的协作算不上机制

  3.子系统的划分:必须三管齐下,综合运用三种手段:分层细化,分区引入,机制提取

 

  

    

版权声明:本文为Aduorisk原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/Aduorisk/p/12672482.html