一、上章回顾
上章《系统架构师谈企业应用架构之系统设计规范与原则1》我们主要讲述了系统设计规范与原则中的具体原则与规范。如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过程中的具
体实现方式简单的分为面向过程与面向对象的开发方式,而目前更多的是面向对象的开发设计方式。具体的内容请看下图:
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/45122029186.png" alt="" />
上图描述了软件设计的原则:低耦合,高内聚,并且简单说明了,如何实现这2个原则,通过分离关注点的方式。我们把功能称之为关注点。
二、摘要
本文将通过实例来讲解如何通过分离功能点,并且讲解分离关注点实现相应功能点时应该注意的问题。比如说一些相关的重要部分的内容。分离功能点是实现软
件功能的一项重要基础,随着软件复杂度的不断提高,传统分离关注点的技术是只从一种方式去分离关注点,例如按照功能或者按照结构等等,使得越来越多的关注点
得不到有效、充分的分离。因此有效、充分的分离关注点就是我们更好的实现软件功能的重要标准,那么我们如果想实现这个目的,就必须对软件同时从多种方式进行
分解,因为分解的越详细,那么系统的设计就越清晰,那么就更容易满足设计原则需求。通过分离关注点能够使软件的复杂度降到最低,同时可理解性得到提高。
本文将会举例说明如何同时按照多种方式去分离关注点。因为本文中的内容都是本人对工作过程中的经验与总结,不足之处在所难免,还请大家多多提出自己的
意见和建议,错误之处,在所难免,请大家批评指出。
三、本章大纲
1、上章回顾。
2、摘要。
3、本章大纲。
4、分离关注点的多种方式。
5、相关设计方法。
6、本章总结。
7、系列进度。
8、下篇预告。
四、分离关注点的多种方式
我的理解是分离关注点(功能点)的方式有以下几种及每种划分的原则,下面我们将会讲解如何按照不同的方式去划分一个系统,通过抽象功能点来降低软件系统的
复杂度,并且提高系统的可理解度。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/45122029445.png" alt="" />
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/36122029418.png" alt="" />
1、按模型来划分
这里的模型划分分为概念模型与物理模型:当然这里的概念模型就是抽象模型,例如我们平时说的功能的分离,我们以B2C的产品管理来说吧,产品管理里面
至少拥有的功能是选择产品分类,选择产品单位,产品的扩展属性,产品的所属品牌等相关属性信息。那么我们闲来说说概念模型就是说是抽象模型,那么我们通过图
形化的方式来描述
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/47122029319.png" alt="" />
这是添加一个产品必须具备的四个相关功
能点的分离。
那么我们在物理模型上如何去实现产品管理的物理模型呢?下面我们来看看。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/D1122029716.png" alt="" />
简单的解释就是具体的每个功能点的具体业务设计模型,物理模式是概念模型的实现。
2、按层次来划分
层次可以简单的分为分层分离的方式与横切分离的方式,那么来举例说明,我们都知道横切和纵切,就是说看待的问题的角度,下面来举例说明如何以这2种
方式来分离功能点。
当然我们这里仍然以B2C系统为例来说明这样的情况。我们这里先来看分层分离的方式来处理。
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' src="/uploadfile/201301/12/5A12