读温昱架构系列文章

一)什么是软件架构?

不同的人对架构有不同的理解。“软件业的人乐于做这样的事——找一些词汇,并将它们引申到大量微妙而又相互矛盾的含义中”。

但我们可以将软件架构的概念分为两大流派:组成派和决策派。这里给出一些典型的定义:

1)  组成派

Mary Shaw:The architecture of a software system defines that system in termsof computational components and interactions among those components.

这里的“components”组件,可以指子系统、框架、模块、类等不同粒度的软件单元。

这一派可概括为:组件+交互,例如MVC架构中有View、Controller、Model三个组件,交互动作为:View创建Controller,View读取Model,Model通知View等。

2) 决策派 

RUP:软件架构包含了关于以下问题的重要决策:

  •   软件系统的组织;
  •   选择组成系统的结构元素和它们之间的接口,以及当这些元素相互协作时所体现的行为;
  •   如何组合这些元素,使它们逐渐合成为更大的子系统;
  •   用于指导这个系统组织的架构风格:这些元素以及它们的接口、协作和组合。

 

这一派可以概括为:架构设计即是进行一系列重要的决策。而这些决策是伴随着对软件系统的层层分解依次展开的。

二)关注点分离原理

该原理可以用一个三维视图来总结:

1)  职责维度:例如系统划分为展现层、业务层、数据层。这里涉及到各种软件设计模式。

2)  粒度维度:根据划分粒度的不同,可以把系统划分为子系统、模块、以及类。

3)  通用性维度:如技术通用部分、领域通用部分。

三)5大视图

逻辑架构

物理架构

开发架构

数据架构

运行架构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值