Java模式.ppt
《Java模式.ppt》由会员分享,可在线阅读,更多相关《Java模式.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Java与模式与模式第一节第一节门面模式门面模式一、门面模式定义一、门面模式定义外部与一个子系统的通信必须通过一个统一的门面外部与一个子系统的通信必须通过一个统一的门面(Facade)对象对象进行,这就是门面模式。进行,这就是门面模式。举个例子:在做项目或产品的过程中进行跨部门合作的时候,每举个例子:在做项目或产品的过程中进行跨部门合作的时候,每个部门都有个相应的接口人,那么我们只需和对应部门的接口人交互即个部门都有个相应的接口人,那么我们只需和对应部门的接口人交互即可,门面模式也一样,门面模可,门面模式也一样,门面模式提供一个高层次的接口,使得子系统式提供一个高层次的接口,使得子系统更易于使
2、用。更易于使用。二、门面模式的角色组成(二、门面模式的角色组成(3个):个):1、门面角色(门面角色(facade):这是门面模式的核心。它被客户角色调):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。了几种功能组合。2、子系统角色:实现了子系统的功能。对它而言,、子系统角色:实现了子系统的功能。对它而言,facade角色就角色就和客户角色一样是未知的,它没有任何和客户角色一样是未知的,它没有任何facade角色的信息和链接。角色的信息和链接。3、客户角色:调用、客户角色
3、:调用facade角色来完成要得到的功能角色来完成要得到的功能三、三、门面模式的结构门面模式的结构门面模式是对象的结构模式。门面模式没有一个一般化的类图描述,门面模式是对象的结构模式。门面模式没有一个一般化的类图描述,下图演示了一个门面模式的示意性对象图:下图演示了一个门面模式的示意性对象图:在这个对象图中,出现了两个角色:在这个对象图中,出现了两个角色:门面门面(Facade)角色:客户端可以调用这个角色的方法。此角色知晓角色:客户端可以调用这个角色的方法。此角色知晓相关的相关的(一个或者多个一个或者多个)子系统的功能和责任。在正常情况下,本角色会将子系统的功能和责任。在正常情况下,本角色会
4、将所有从客户端发来的请求委派到相应的子系统去。所有从客户端发来的请求委派到相应的子系统去。四、特点四、特点1、子系统的独立性:、子系统的独立性:子系统对外提供一个统一简单的接口,可子系统对外提供一个统一简单的接口,可以减少系统间的耦合性,提高子系统的独立性和可移植性。以减少系统间的耦合性,提高子系统的独立性和可移植性。2、系统的层次性:在构建一个层次化的系统时,可以使用、系统的层次性:在构建一个层次化的系统时,可以使用Facade模式定义系统中每一层的入口。如果层与层之间是相互模式定义系统中每一层的入口。如果层与层之间是相互依赖的,则可以限定它们仅通过依赖的,则可以限定它们仅通过Facade进
5、行通信,从而简化层进行通信,从而简化层与层之间的依赖关系与层之间的依赖关系模式应用模式应用:Facade一个典型应用就是进行数据库连接。一般我们在每一次对一个典型应用就是进行数据库连接。一般我们在每一次对数据库进行访问,都要进行以下操作:先得到数据库进行访问,都要进行以下操作:先得到connect实例,然后打实例,然后打开开connect获得连接,得到一个获得连接,得到一个statement,执行,执行sql语句进行查询,语句进行查询,得到查询结果集。得到查询结果集。我们可以将这些步骤提取出来,封装在一个类里面。这样,每次执我们可以将这些步骤提取出来,封装在一个类里面。这样,每次执行数据库访问
6、只需要将必要的参数传递到这个类中就可以了。行数据库访问只需要将必要的参数传递到这个类中就可以了。举一个通俗的例子,购买衣服、电器、首饰举一个通俗的例子,购买衣服、电器、首饰,按传统方式是一个一个商按传统方式是一个一个商店的购买,但是如果引进门面模式,那我们就可以先建立一个购物中心,店的购买,但是如果引进门面模式,那我们就可以先建立一个购物中心,然后把这些商店都开在里面,只要在购物中心内一次性购买就行。然后把这些商店都开在里面,只要在购物中心内一次性购买就行。五、总结五、总结从客户程序的角度来看,从客户程序的角度来看,Facade模式不仅简化了整个组件系统的接口,模式不仅简化了整个组件系统的接口
7、,同时对于组件内部与外部客户程序来说,从某种程度上也达到了一种同时对于组件内部与外部客户程序来说,从某种程度上也达到了一种“解耦解耦”的效果的效果内部子系统的任何变化不会影响到内部子系统的任何变化不会影响到Faade接口的变化。接口的变化。Facade设计模式更注重从架构的层次去看整个系统,而不是单个类的层设计模式更注重从架构的层次去看整个系统,而不是单个类的层次。次。Facade很多时候更是一种架构设计模式。很多时候更是一种架构设计模式。第二节第二节装饰模式装饰模式一、装饰模式的定义一、装饰模式的定义装饰模式是在不必改变原类文件和使用继承的情况下,动态装饰模式是在不必改变原类文件和使用继承的
8、情况下,动态的扩展一个对象的功能。它是通过创建一个包装对象,也就是装的扩展一个对象的功能。它是通过创建一个包装对象,也就是装饰来包裹真实的对象。饰来包裹真实的对象。装饰模式是对对象功能增强时,平时使用继承的一种替代方案装饰模式是对对象功能增强时,平时使用继承的一种替代方案装饰器涉及四个名词装饰器涉及四个名词1、接口或者抽象基类、接口或者抽象基类2、被装饰对象,也就是一个简单的实现了、被装饰对象,也就是一个简单的实现了1中提到的接口或者抽象基中提到的接口或者抽象基类的实现类。类的实现类。3、装饰对象,就是去装饰被装饰对象的对象、装饰对象,就是去装饰被装饰对象的对象4、继承装饰对象类的子类,也就是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 模式
限制150内