Fa ade模式在代码生成工具中应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Fa ade模式在代码生成工具中应用

Fa ade模式在代码生成工具中应用   摘 要:随着软件系统项目的越来越庞大和越来越复杂,对软件的要求越来越高。为了提高系统的可重用性,通常会把一个大的系统分成很多个子系统,然后再把一个子系统分成很多个更小的子系统,一直分下去直至各个小型模块。这样虽然提高了重用性,但提高了系统的复杂性,为了解决这一问题,可以通过软件设计模式中的Fa?ade模式去解决。本文主要阐述了Fa?ade模式的概念,通过代码生成工具这一实际应用模拟了其实现过程,并总结了该模式的特点和应用范围。   【关键词】设计模式 Fa?ade模式 代码生成工具   1 引言   在软件系统开发的过程当中,为了提高系统的开发效率,经常需要使用代码生成工具根据配置文件来自动生成代码,一般都是按照开发结构来实现的常见的基础功能,比如说对数据库的增删改查操作,这样就可以把主要精力放在系统的业务逻辑的实现上。现在假设使用代码生成出来的每个模块都具有基本的三成架构,分别为表现层、逻辑层和数据层,那么代码生成工具里面就应该有相应的代码生成处理模块。另外还需要一个配置管理的模块,通过配置来通知代码生成工具每个模块究竟需要生成哪些层的代码。   如果不使用软件设计模式去处理的话,就会产生一个问题,那就是客户端为了使用生成代码的功能,必须要与生成代码子系统内部的多个模块进行交互。对于客户端而言,增加了复杂度,使得客户端不能简单的使用生成代码的功能。而且如果其中的某个模块发生的改变,还可能会引起客户端也要随着变化。可以通过Fa?ade模式实现让让子系统外部的客户端在使用子系统的时候,既能简单的使用子系统内部的模块功能,而又不用客户端去与子系统内部的多个模块进行交互。   2 Fa ?ade模式的定义与实现   2.1 Fa?ade模式概念   Fa?ade模式,又称外观模式,就是为子系统中的一组模块提供一个统一的高层接口,使得子系统更加容易使用。这里所说的接口就是客户端与被访问的系统之间的一个通道,并不一定是指Java中的 interface。它在外观模式里面通常指的的是类,称为Fa?ade。外观模式就是通过引入这么一个Fa?ade类,在这个类里面定义客户端需要的简单方法,然后再这些方法的实现里面,由Fa?ade类再去分别调用内部的多个模块来实现功能,从而让客户端变得简单,客户端只需要和Fa?ade类交互就可以了。   Fa?ade模式的目的不是为了给子系统添加新的功能接口,而是为了让外部减少与子系统内部多个模块的交互,松散耦合,从而让外部能够更简单的使用子系统。外观主要负责组合已有的功能来实现客户需要,而不是添加新的实现。表面上看仅仅是将客户端的代码搬到Fa?ade里面,但实质发生了变化,Fa?ade是位于系统里面的,就相当于屏蔽了外部客户端和系统内部模块的交互,不但方便了客户端的调用,而且封装了系统内部的实现细节。另外Fa?ade的功能还可以被多个客户端调用,实现了功能的共享,也就是复用性。   2.2 Fa?ade模式的实现   现在假设子系统中有三个模块,分别是 AModule、BModule和CModule,它们分别有一个方法,此时的整体结构如图1所示。   外观模式的调用顺序如图2所示。   实现外观模式,只需要添加一个Fa?ade对象,然后再里面实现客户端需要的功能就可以了。   新添加一个Fa?ade对象:   public class Fa?ade{   public void generate(){   new AModule().generate();   new BModule().generate();   new CModule().generate();   }   }   客户端实现:   public class Client{   public static void main(String[] args){   new Fa?ade().generate();   }   }   3 Fa?ade模式特点   (1)松散耦合。Fa?ade模式松散了客户端与子系统的耦合关系,让子系统内部的模块具有更好的可扩展性和可维护性。   (2)简单易用。Fa?ade模式让子系统使用更加简单,客户端不再需要了解子系统内部的实现,也不需要跟众多子系统内部的模块进行交互,只需要跟外观交互就可以了,相当于外观类为客户端提供了一站式服务。   更好的划分了访问的层次。通过合理使用Fa?ade,更好的划分了访问的层次。有些方法是对系统外部的,有些方法是系统内部使用的。把需要暴露给外部的功能集中到外观中,这样既方便客户端使用,也很好的隐藏了内部的实现细节。   (3)选择多样性。虽然有了外观,但如果有需要,外

文档评论(0)

3471161553 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档