基于组件的开发思路
程序员文章站
2022-04-13 14:17:30
...
1. 4个基本特性:组件,组件之间的协同,组件插座,组件的使用者。
2. 高度的以体系结构为中心。
3. 业务组件5要素:组件粒度层次、体系结构视点、分布层、功能类(或层)和开发生命周期视点。
4. 五种粒度层次:语言类、分布式组件、业务组件、系统级组件、系统级组件联盟。
5. 四种体系结构:技术体系结构、应用体系结构、项目管理体系结构和功能体系结构。
6. 四种分布式层:用户层、工作空间层、企业层、资源层。
7. 三种主要功能类:过程、实体和实用程序类。也叫做开放层。
8. 开发过程早期设计接口。
9. 分布式组件内部要素:接口规格说明、功能代码、隔离层(接口实现、代理)、语言类(焦点业务语言类、支持业务语言类、辅助业务语言类和技术语言类)。
10. 分布式组件外部要素:接口设计(早期)、业务数据类型。
11. 业务组件内部要素:分布层(单向或事件通知)。
12. 业务组件外部要素:接口(业务组件内、系统内业务组件之间、系统外)、依赖关系(依赖列表)、插座/插头。
13. 组件图:直接表示为功能体系结构(根据三层来分类——过程、实体、实用)。
14. 实用业务组件:通常在各个不同的业务系统中重用。
15. 业务组件系统外部要素:接口(黑盒——网关和互操作适配器、白盒——直接依赖内部的业务组件),预定义代理。
16. 业务组件系统的接口说明和设计往往比业务组件接口的说明和设计更重要(涉及到更多复杂的需求,eg安全等)。
17. 互操作七层协议
1. 技术接口:基于数据库(直接SQL,适配器,互操作表)、基于文件桥接、基于API(网关,适配器)。(技术体系结构)
2. 技术基础设施:错误处理、保密安全、命名、事务处理等。(技术体系结构)
3. 应用基础设施:弥补实际项目和技术之间的鸿沟。(应用体系结构)
4. 功能接口:技术接口的一个特定实例。(功能体系结构)
5. 语义:双方语义需要达成共识。 (功能体系结构)
6. 功能参考模型:双方共享某种功能参考模型。(功能体系结构)
7. 开发生命周期:需要开发时和运行时协议。
18. 交互模式:集成交互模式、桥接交互模式、协同交互模式和基于总线的交互模式。
19. 标准:基于总线的交互模式、数据交互标准——XML。
20. 基于组件开发过程的10个黄金特性:
1. 以组件为中心:所有问题都是不同粒度的组件为中心。
2. 以体系结构为中心:整个生命周期以体系结构视点推动系统的进化。
3. 以自治为核心
4. 向协同发展
5. 支持迭代特性
6. 支持并发开发
7. 持续集成
8. 支持风险驱动开发(不断反馈和迭代)
9. 强调重用
10. 把组件开发作为产品开发(质量、文档和支持)
21. 需求:特性表、用例
分析:见28
22. 企业对象模型(扁平,是对业务的一种静态和结构的描述),需要将它转成组件模型。
23. 根据焦点类进行分组:给定焦点类和业务组件之间的联系,标示焦点类就相当密切地对应标示业务组件。
24. 设计:标识各层上的分布式组件、外部规格说明(标识企业分布式组件和工作间分布式组件的接口),依赖关系规格说明(依赖关系表和确切接口和操作的标识)、内部规格说明(至少包含内部对象模型——业务语言类图、序列图、关键部分过程的伪代码等,持久模型)。
25. 实现:快速迭代,主要实现业务语言类。开发步骤:建立分布式组件的执行环境、尽快使整个系统建立和运行起来、完成其依赖组件的调用、快速迭代持续集成。
26. 技术体系结构:技术核心(组件激活/停止、组件调用、支持组件访问的并发性、异步消息传递、动态继承)、服务和设施(事务、错误处理、事件、持久化、元数据、用户界面框架、监控、配置管理、类工厂等)。
27. 应用体系结构:体系结构原则(非循环原则(解除依赖: 事件通知、元素下推到底层组件)、体系结构规范化原则(不重复)、分层、一致性、时间内聚等)、体系结构模式(组件作为协调器——外观和中间人模式、对等组件——组件间相互调用,尽量避免这种模式)、协同模式(业务事务:实现它的最好方法是保持前面操作的中间结果,等后续操作完成时统一提交;其他的方法有临时存储中间结果 ——使用单独数据表或是在原表上增加字段)。
28. 基于组件的业务建模:主要建模构件(业务过程、业务实体、业务事件、业务规则)、划分业务空间(分块,分层——过程、实体、实用,功能子类)、标识业务组件(独立且真实的业务概念、满足市场需求、很高的重用性、支持自治开发、符合多个内聚原则;实体业务组件来自业务对象模型和设计师的经验)。
29. 行业级粗粒度功能域,经过细化后,形成行业功能参考模型(包括主要的功能要素域以及这些域间功能接口的主要要素)。
上一篇: kindeditor4.1的使用
下一篇: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
推荐阅读
-
基于Html5实现的react拖拽排序组件示例
-
基于elementUI使用v-model实现经纬度输入的vue组件
-
Android开发之基于DialogFragment创建对话框的方法示例
-
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
-
iOS App开发中UITextField组件的常用属性小结
-
基于Oracle的面向对象技术入门基础简析开发者网络Oracle
-
基于Oracle的高性能动态SQL程序开发
-
EpiiAdmin 开源的php交互性管理后台框架, 让复杂的交互变得更简单!Phper快速搭建交互性平台的开发框架,基于Thinkphp5.1+Adminlte3.0+Require.js。
-
vue基于element的区间选择组件
-
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)