- 1、本文档共98页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
应用框架的复用 应用框架是面向特定的应用领域开发所提出的可复用的应用程序。 基础设施框架:简化软件的开发过程 Eclipse,IE 中间件框架:整合现存的应用与组件 MFC,JavaRMI,WebLogic,CORBA,Ffmpeg,DirectShow 企业级应用框架:面向行业领域提供完整的解决方案 SSH 应用框架的复用 白盒框架 可以得到框架的源码,通过继承和动态绑定来实现功能以及扩展性。(SSH) 黑盒框架 框架提供接口,通过插件机制来实现功能扩展性(IE, DirectShow ) 应用框架的复用 设计模式与框架 框架注重于具体设计、算法在某个特定编程语言下的实现,设计模式注重抽象设计的复用。 类库与框架 类库解决小范围问题、被动的使用,而框架是主动的,能够包含控制流。 应用框架例子 struts+spring+hibernate Struts:Model,View和Controller都提供了对应的组件,减少了用户运用MVC设计模型来开发Web应用的时间。 Spring:使用分层架构实现业务逻辑,解决企业应用开发的复杂性。 Hibernate:对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库 责任分配 构件专家 对特定的子系统很熟悉的开发者 模式专家 对各种设计模式很熟悉并能灵活的使用 文档专家 了解复用,知道子系统文档,设计模式文档以及系统文档之间的差别。 配置管理人员 对目前使用子系统熟悉,跟踪单个子系统的版本 复用总结 更低的开发投入 软件更具有弹性 更低的开发风险 预估软件缺陷 标准术语的广泛使用 模式的逐渐理解减少开发者之间误解 可靠性的提高 缩短开发时间,为测试赢得更多时间 创建模式? Factory(工厂模式)? Simple Factory(简单工厂模式)? Factory Method(工厂方法模式)? Abstract Factory(抽象工厂模式)? Singleton(单例模式)? Multiton(多例模式)? Builder(建造模式)? Prototype(原型模式)? 结构模式? Adapter(适配器模式)? Default Adapter(缺省适配器模式)? Composite(合成模式)? Decorator(装饰模式)? Proxy(代理模式)? Flyweight(享元模式)? Facade(门面模式)? Bridge(桥梁模式)? 行为模式? Immutable(不变模式)? Strategy(策略模式)? Template Method(模板方法模式)? Observer(观察者模式)? Iterator(迭代子模式)? Chain of Responsibility(责任链模式)? Command(命令模式)? Memento(备忘录模式)? State(状态模式)? Visitor(访问者模式)? Interpreter(解释器模式)? Mediator(调停者模式) abstract?class?ContinentFactory{??//?Methods??abstract?public?Herbivore?CreateHerbivore();??abstract?public?Carnivore?CreateCarnivore();} //?ConcreteFactory1class?AfricaFactory?:?ContinentFactory{??//?Methods??override?public?Herbivore?CreateHerbivore()??{?return?new?Wildebeest();?}??override?public?Carnivore?CreateCarnivore()??{?return?new?Lion();?}} //?ConcreteFactory2class?AmericaFactory?:?ContinentFactory{??//?Methods??override?public?Herbivore?CreateHerbivore()??{?return?new?Bison();?}??override?public?Carnivore?CreateCarnivore()??{?return?new?Wolf();?}} //?AbstractProductAabstract?class?Herbivore{}//?AbstractProductBabstract?class?Carnivore{??//?Methods??abstract?public?void?Eat
文档评论(0)