Refined Architecture阶段
Refined Architecture阶段是细化阶段是属于架构设计,不是详细设计,这两个不能混谈
对于细节架构和逻辑架构的差异有三个典型
1.接口,在细节架构里,接口是核心部分,而逻辑架构并不关心接口
2.子系统,细节架构重视通过通过子系统和模块来分割整个系统,并且子系统有明确的接口,而逻辑架构只有抽象的组件
3.交互阶段,细节架构的交互阶段是‘实在的’,是基于接口方法的调用,而逻辑结构是概念化的,如A层调用了B层的服务。
架构师还应该记住 方案=项目+需求+架构 并不是方案=架构的全部。
对于架构的工作范围
多视图方法的实际意义:
1.利于思考
2.便于交流
而对于概念架构,逻辑架构,物理架构,逻辑架构和物理架构是架构设计同一阶段要同时考虑的两个方面,是同一个阶段里的,是两个视图,并不是两个阶段。
多视图的5视图方法包含
逻辑视图,开发视图,运行视图,物理视图,数据视图
如
对于逻辑架构的划分子系统实践策略归纳为三种
1.分层的细化
2.分区的引入
3.机制的提取
分层的细化
将三四层架构细化为多层的方法,分层细化是划分子系统的必用策略之一
分区的引入
在架构设计中如果只有分层的话,程序员会无从下手,为了开发必须引入分区,分区是在层里进行的,单位比层要小,因此分区的引入也是划分子系统的必用策略之一。
机制的提取
基于接口或抽象类的协作是机制)(基于具体类的协作算不上机制):
机制是一种特殊的子系统
所以在划分子系统必须要三管齐下,综合的运用三种手段,分层的细化,分区的引入,机制的提取
划分子系统的原则有四种·
1.职责分离原则
2.通用专用分离原则
3.技能分离原则
4.工作量均衡原则
4.关于物理架构、运行架构、开发架构
物理架构主要设计:
硬件选择与物理拓扑
软件到硬件的映射关系
方案的优化
运行架构的设计内容:(控制流图是关键)(实现控制流三种手段:进程 线程 中断服务程序)
确定引入哪些控制流;
确定每条控制流的任务;
控制流的创建、销毁、通信机制等;
控制流之间的同步关系,加锁机制等
开发架构的设计内容:
将“逻辑结构”映射为程序单元
要自主编写的源程序
可重用的库、框架
其他方式(shell脚本,平台配置文件)
开发技术选项:开发语言,平台工具
“程序单元”间关系
- Project划分
- Project目录结构
- 编译依赖关系
Refined Architecture阶段相关推荐
- Java开发进阶10本必备书单
书是学习的海洋 除了做项目来提高自身的技术,还有一种提升自己的专业技能就是多看书! <SSM企业级框架实战> 框架( Framework)的本质为某种应用的半成品,即把不同应用程序中的共性 ...
- CSAI首席顾问教你:如何成为更合格的架构师
单一方法已捉襟见肘.一线架构师真正需要的,是覆盖"需求进,架构出"全过程的实践指导只有综合了不同方法优点的"方法体系"才能堪此重任.方法体系必然是软件业界未来发 ...
- 一线咨询师的絮絮叨叨
一线咨询师的絮絮叨叨 评<一线架构师实践指南> 温昱先生的<一线架构师实践指南>在几乎所有的售书网站上都是一致推荐的一本书,当当4星半,china-pub 4星半,亚马逊卓越上 ...
- HRMS(人力资源管理系统)-从单机应用到SaaS应用-架构分析(功能性、非功能性、关键约束)-上篇...
一.开篇 上一篇<HRMS(人力资源管理系统)-从单机应用到SaaS应用-系统介绍>我们已经详细的分析了HRMS系统具备的功能,并且从HRMS系统的概念.系统功能.HR行业管理现状及痛点. ...
- 软件架构自学笔记---架构分析
架构分析: 什么是架构,根据要解决的问题,对目标系统边界进行界定,并对目标系统按某个原则进行切分根据切分使得这些部分能够进行有机地联系,合并组装成为一个整体,完成目标系统的所有工作. 架构设计的方法体 ...
- Alibaba大牛常读的10本Java实战书籍,(Java开发进阶必备书单),可以白嫖了
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...
- 阿里大人都在读的10本Java实战书籍,Java开发进阶必备书单
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...
- SOA之企业应用集成EAI
企业集成对公司管理提出显著转变的需要,致力于 一体化的努力通常对业务产生深远的影响,但是如果缺乏标准的集成方案,导致概念和技术学习难度增加. 集成定义:将不同的计算机系统,公司或个人连接起来, 企业集 ...
- 阿里P8推荐的10本Java实战书籍,Java开发进阶必备书单
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...
- 高级架构师都在读的10本Java实战书籍,Java开发进阶必备书单
关乎于程序员,除了做项目来提高自身的技术,还有一种提升自己的专业技能就是:多!看!书! 毕竟,书是学习的海洋呢!So,Java程序员你们准备好了吗?双手奉上Java程序员必读之热门书单. 在下面这 1 ...
最新文章
- Android组件系列----BroadcastReceiver广播接收器
- kafka教程_2018年机器学习趋势与Apache Kafka生态系统结合
- JAVA中的break[标签]continue[标签]用法
- Spring Cloud生态的配置服务器最全对比贴
- 如何使用可外部化的接口在Java中自定义序列化
- 为你的APK进行数字签名
- 20. PHP 表单验证 - 验证 E-mail 和 URL
- LINUX命令必备技能
- MATLAB music分解信号,MUSIC算法信号频率问题求解
- 斑马打印机linux驱动安装教程,热敏打印机安装驱动教程
- 小程序30分钟倒计时
- 《计算机组成原理》作业,《计算机组成原理》作业一解答.doc
- 查理·芒格:分享12个顶级思维模型
- 关于BottomNavigationView的使用姿势都在这里了
- 冯绍峰晒与韩寒片场邋遢照 自称工地领薪水
- python学习笔记(CSS)
- 理解 %IOWAIT (%WIO)
- MSP430学习笔记-定时器A
- 【已测】m3u8播放器源码,无后台,单页
- 计算机网络工程的发展,谈计算机网络工程全面信息化管理的应用与发展
热门文章
- 苹果退款_苹果App Store竟然还可以退款?App Store退款教程
- C语言程序写99乘法表,如何用C语言编程序:九九乘法表
- Windows10+MinGW+Codelite完成C++编写平台安装
- java8新特性之一:流式数据处理(包含list,map数据处理)。
- javasprit基础用法
- 如何利用数据挖掘让RTB广告效果倍增?
- C++书本综合实例(一)个人银行账户管理
- 计算机丢失msvc80.dll,msvcr80.dll丢失如何解决-msvcr80.dll丢失的解决方法
- 06年你看过《武林外传》吗?如果看过,就明白什么叫物是人非
- hadoopsnappy解压_Hadoop安装配置snappy压缩