Object-Oriented Analysis and Design Using UML 翻译与学习 (十五)
来源:互联网 发布:sd卡数据恢复安卓版 编辑:程序博客网 时间:2024/04/29 02:11
回顾架构
目标
完成这个模块(章节),你可以:
1、定义一个框架
2、描述使用框架的优势和劣势
3、定义多种常用的框架
4、你创建你业务领域框架的概念
框架的描述
一个软件框架是一个可重用的软件基础设施,可以被扩展和配置以便提供一个明确的软件解决方案。
软件框架提供扩展点,在框架中的这些点,程序员可以为了实现明确的功能需求进行添加和修改。
这个基础设施可以包括组件,应用程序编程接口(APIs),脚本,支持应用,配置文件。
一个框架可以提供以下基础设施:
1、一个或多个阶层
1.1例如,网页呈现,业务服务,实体,集成阶层
2、一个明确业务领域
2.1例如,保险,银行,石油勘探
3、一个分享的业务领域需求
3.1例如,资源占用,事件管理,演员单
一个框架的客制化是通过以下完成的:
1、继承框架的类或实现框架接口
1.1你的类不用过粘
1.2你的类也许离开了框架很难测试
2、扩充框架的POJO类,必须通过配置文件和注解
1.1POJOs更加粘着
1.2POJOs离开框架后很好测试
列出常用的框架
2、Spring framework
3、Java Server Faces (JSF)
4、Hibernate
5、Struts
6、Microsoft .NET
7、Struts 2
使用框架的优势和劣势
优势包括:
1、开发者可以关注新的的业务问题,而不是基础问题或者创建问题方面
2、框架经常包括好的面向对象实践和模式
3、一旦你对一个框架有了经验,编码是简单的被编写和被支持
劣势包括:
1、由于使用框架一刀切的途径,你的代码会变得臃肿
2、框架很难学
3、你被基础设施和不能修改基础设施文件的情况限制了
4、改变成另一个可选框架可能困难
创建框架
一个一般框架可以为一个明确的业务领域创建
例如,一个保险公司可以创建一个保险框架,它可以支持任何一个保险产品。例如:
1、宠物保险
2、汽车保险
3、生活保险
4、财产保险
5、公共责任保险
以下例子展示两个可选途径去为保险领域创建一个一般的框架,使用宠物保险的特殊化的领域:
1、例子1:基于抽象类展示一个框架
2、例子2:基于抽象类和接口展示一个框架
有其他创建一个框架的途径的可能性。
//2017年3月21日20:54:02 这个章节应该是这本书最少的 ~\(≧▽≦)/~lalala~
领域明确的框架的例子1
领域明确的框架的例子2
领域中性框架
1、领域中性框架为子系统被使用
2、这些框架包含大量不同领域需要的常用的特性。例如:
2.1一个用车销售系统可以使用销售架构和账单架构
2.2一个人力资源系统可以使用资源占用系统
很有可能找到很多一般模式,是叫做分析模式
1、例如,一种模式是团体(人或公司),地点,事情,事件。这个模式组成了事件计划或资源计划的基础
2、然而这有可能太抽象和一般以至于不能从中受益
创建架构的优势和劣势
创建一个架构的优势包括:
1、对每个明确的领域版本使用框架可以获得的成本和开发时间的减少
2、可以提供竞争优势
3、开发者可以关注在明确的领域和框架的不同上
4、框架经常包括好的面向对象实践和模式
创建一个架构的劣势包括:
1、建起了可能太贵
2、需要有框架使用的所有领域的卓越的知识
3、由于框架一刀切的途径,代码可能臃肿
4、框架可能学起来太难
5、你可能被基础设施限制,而且不可能经常修改基础设施文件
总结
在这个章节中,你被介绍了以下基本概念:
1、框架
2、使用现成的框架
3、创建领域明确和领域中立的框架
//2017年3月23日22:24:51 国足赢了一场,大家有没有看
//另外,鄙人从事软件开发,英语过6级,求兼职
//联系我,邮箱:bourne_w@sina.com
交个朋友吧
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十五)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (目录)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (序)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (一)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (二)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (三)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (四)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (五)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (六)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (七)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (八)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (九)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十二)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十三)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十四)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十六)
- Object-Oriented Analysis and Design Using UML 翻译与学习 (M-A)
- 杂文——s5pv210用户手册翻译
- Java集合类
- Exception in thread "main" java.lang.NoClassDefFoundError: entity/user (wrong name: entity/User)
- 多任务
- 004-迪杰斯特拉算法求解最短路径的一点思想
- Object-Oriented Analysis and Design Using UML 翻译与学习 (十五)
- 3.21学习内容
- 解决springMVC中@response向前台传递参数变问号的问题
- C++中如何读取一个文件。
- java IO流(异常的打印信息)
- 运算符重载,友元函数,重载输入输出运算符,状态成员,rand(),类的自动转换
- 网络协议栈分析——从设备驱动到链路层
- HDU
- 实时流Streaming大数据:Storm,Spark和Samza