博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式 关注点分离
阅读量:4605 次
发布时间:2019-06-09

本文共 630 字,大约阅读时间需要 2 分钟。

好的架构设计必须把变化点错落有致地封装到软件系统的不同部分。要做到这一点,必须进行关注点分离
Iuar Jacobson
在《
AOSD
中文版》中写道:

好的架构必须使每个关注点相互分离,也就是说系统中的一个部分发生了变化,不会影响其他部分。即使需要改变,也能够清晰地识别出那些部分需要改变。如果需要扩展架构,影响将会最小化,已经可以工作的每个部分都将继续工作。

上述论述中的三句话:

系统中的一个部分发生了变化,不会影响其他部分。”

即使需要改变,也能够清晰地识别出那些部分需要改变。”

如果需要扩展架构,将影响最小化,已经可以工作的每个部分都将继续工作。”

可以说是对软件开发者的奋斗目标的最精辟的论述。也是软件设计要达到的最高目标。

关注点分离是实现上述目标的基本方法。关注点分离的基本方法有:

按职责分离关注点

将一个功能的实现分成展现层、业务层和数据层就是典型的按职责进行关注点分离的例子。

按通用性分离关注点

不同的通用程度意味着变化的可能性不同。可以将组成系统的元素分成技术通用部分、领域通用部分和特定应用部分。技术通用部分具有广泛的通用性,领域通用部分在对应领域具有普遍通用性。特定应用部分一般没有通用性。

按粒度级别分离关注点

在软件架构设计中,可以优先考虑大粒度的子系统和在集成系统中的互操作,忽略子系统的进一步分离。

转载于:https://www.cnblogs.com/zsw-1993/p/4879467.html

你可能感兴趣的文章
Vijos P1243 生产产品 (单调队列优化DP)
查看>>
mysql 数据表操作 目录
查看>>
iOS常用第三方库 -转
查看>>
UVA 12546 - LCM Pair Sum
查看>>
HttpServletRequest对象方法的用法
查看>>
Android布局学习
查看>>
实时通讯与非实时通讯
查看>>
jQuery中事件绑定与解绑
查看>>
js原生Ajax的封装与使用
查看>>
周总结6
查看>>
PostgreSQL 务实应用(二/5)插入冲突
查看>>
一种公众号回复关键词机制
查看>>
java多线程入门学习(一)
查看>>
基于 Web 的 Go 语言 IDE - Wide 1.1.0 公布!
查看>>
nyist oj 138 找球号(二)(hash 表+位运算)
查看>>
Movidius软件手册阅读 2017-09-04
查看>>
ytu 1910:字符统计(水题)
查看>>
201671030110 姜佳宇 实验三作业互评与改进
查看>>
mysql-5.6.15 开启二进制文件
查看>>
python的沙盒环境--virtualenv
查看>>