外文翻译基本框架设计模式

外文翻译基本框架设计模式

ID:6164156

大小:160.50 KB

页数:7页

时间:2018-01-05

外文翻译基本框架设计模式_第1页
外文翻译基本框架设计模式_第2页
外文翻译基本框架设计模式_第3页
外文翻译基本框架设计模式_第4页
外文翻译基本框架设计模式_第5页
资源描述:

《外文翻译基本框架设计模式》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基本框架设计模式EssentialFrameworkDesignPatternsWolfgangPreeUniversityofConstanceD-78434Constance,GermanyVoice:+49.7531.88.44.33;Fax:+49.7531.88.35.77E-mail:pree@informatik.uni-konstanz.de摘要大多数优秀的面向对象的框架仍然或多或少的处于混乱发展过程中,通常进行的类似设置的研究。这种贡献首先涉及几点框架建设的基本原则。框架代表的是特定域的通用解决方案,使面向对象软件配置的全部潜力得以开发:不仅源代码和单个组件,体

2、系结构设计也被重复使用。预定义细化发生的适应点我们称之为扩展点。如果发现这些扩展点有明确的需求阶段,它们能以基本的形式组合成特定域的设计模式。这种扩展点驱动的框架设计可以为一个更系统的发展过程做出贡献。关键词:设计模式,框架,面向对象设计,面向对象软件发展,软件可重用性1.框架类型框架非常适合大量类似的应用程序的重写。框架结构定义了一种通过创建特定领域的应用程序的高级语言专业化(=适应)。特定领域的一种扩展槽我们称之为扩展点。如果一个框架提供了足够的可以改编的扩展点,我们就认为这是一个具备合格属性的框架。例如,Lewisetal.(1995年)提供大量高质量框架。白盒框架中的扩展

3、点白盒框架由几个不完整的类组成,也就是类包含没有实际实现的办法。A类的抽象方法必须在子类中重写。这种类型的框架中的抽象方法形成扩展点。图1的示例框架中描述的A类层次结构说明了一个白盒框架的这一特性。A类的抽象方法必须在子类中重写。这种类型的框架中的抽象方法形成扩展点。图1示例框架类层次结构程序员通过衍生子类或重写父类的成员方法来修改白盒框架的方法。必须重写的方法意味着程序员必须在一定程度上了解框架的设计和实施的细节信息。黑盒框架的扩展点黑盒框架提供了现成的适应修改的组件。修改通过组装,而不是通过编程。扩展点还对应于重写方法,虽然适应框架的扩展点只是作为处理组件的一个整体。在图1中

4、的类层次框架结构中,B类已经有两个子类B1和B2提供默认实现的抽象方法。假如框架组件之间的交互如图2(a)所示(图2中线表示组件之间的交互。)应用程序与这一框架相适应,例如,通过实例化类A1、B2插入相应的对象(请参阅图2(b)).在B类该框架提供现成的子类;在类A中程序必须先创建子类。图2框架经专业组合前(a)后(b)可用的框架既不是纯粹的白盒框也不是纯粹的黑盒框架。如果框架大量回收再利用,无数专家都建议用黑盒框架而不是只提供一个默认界面的白盒框架。因此当成熟后白盒框架将越来越多趋向于黑盒框架。1.钩的灵活性类方法可以分为钩方法和模板方法:钩方法被视为具有更多可灵活调用的扩展点

5、问题复杂的方法的地方。这些复杂的方法通常被称为模板方法模板方法不能与c++模板构造混淆,它已具备完全不同的含义。(Wires-Brocketal.,1990年10月;Gammaetal.,1995年;Pree,1995年)。模板方法定义抽象类的行为方法或泛型的控制流或对象之间的交互。钩方法的基本思路是通过允许重写钩继承一个对象的更改,无需改动相应类的源代码的行为。图3体现了面向对象语言低耦合的这一原则。A类的t()方法是调用钩方法h()的模板方法,如图3(a)中所示。钩方法是一种抽象方法,只有空的或默认的实现。图(b)钩方法重写A1子类。图3(a)模板钩方法和(b)钩重载让我们定

6、义一个包含正在讨论的钩类H和包含模板类T。钩类准参数化模板类,注意这是一个上下文相关的区别而不考虑两种类的复杂性。结果是,灵活性结构原则的基本设置可以从考虑两个类之间的所有可能组合派生而来。因为模板和钩类可以具备任何的复杂性,下面讨论的建设原则就扩大了规模。所以领域特定的语义模板类和钩类淡出,如何实现框架的可变性变得清晰。2.1.统一与分离模式如果模板类和挂钩类统一在一个类中,如图4(a)称为TH,只能通过继承得到,那样的话应用程序需要重新启动。图4模板类和钩类的统一(a)与分离(b)分离模板和挂钩类等同于(抽象)这些类的耦合对象,使T对象的行为部分被修改,即插入特定H对象。T和

7、H直接关联表示T对象拥有H对象。T对象为了调用钩方法必须将消息发送到相关的H对象,所以这个关联变得重要。通常一个实例变量T保持这样一个关联。其他的可能是通过参数传递的方法对象引用全局变量或临时变量。T和H对象之间的实际耦合是无关的实现细节,不作进一步讨论。关联所表示的语义也是一样。例如,对象的关联是指向用途或是关系的一部分取决于在特定的上下文和需要,不需要区分这些核心领域的构建原则。一个分离模板和钩类也形成的前提下运行时的适应,定义H的子类,插入T的对象,同时应用程序正在运行。G

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。