由基金公司与股民 论外观模式(也叫门面模式)

前段时间,牛市很牛有部分股民大赚,但80%的股民还是亏损;估计有好多怕是新股民。其实主要还是对这个股市了解的太少,瞎掺合。大家都知道基金相对股市来说,比较稳定点,而只是赚得少点。为什么呢?因为这个将所有投资基金的钱积累起来由专业的基金投资团队买股票、买其他的社会投资项目;要知道他们可有对股市所需买的股票进行了深入的分析;而且将风险进行了分散。好了扯了这么多,我们引入需要探讨的设计模式---外观模式。

刚才讲的实际上就是咱们在项目开发过程的外观设计模块。咱们看看定义:为子系统中的一组接口提供一个一致的界面,此模式定义出一个高级的接口,这个接口使得子系统更加容易使用。

我们从以上的结构图可以看出:Facade类定义了来那个方法MethodA 、MethodB;这个两个方法中分别调用了MethodOne、MethodTwo、MethodThree和MethodThree、MethodFour;但是针对客户端来说,我们并不知道其调用子系统的那些方法;只需要和Facade类打交道就OK了。

那么我们在什么时候用到这个模式呢?1.在项目的设计阶段,我们需要将不同业务的层进行分离;我们经常在项目中用的三次架构;实际上就是多Facade模式的应用;数据访问层只需与业务逻辑层打交道,而业务逻辑层与表示层打交道;这样方便各自的沟通,减少了耦合性;使得程序更容易维护。2.在开发阶段,因为项目的逐渐深入,程序越来越复杂;我们也会用到;3.对老系统的升级维护;我们在老系统中,增加业务功能时候,若修改其原来的代码,则会影响到现行的业务;简单的方式就是建立个门面类,专用于打交道;实现对老系统中的业务的组合,以满足新业务的需求。在创建维护小组时候,只需要创建两个小组:1组负责编写与老系统的方法组合;另一组负责新业务开发。

时间: 2024-10-08 14:03:47

由基金公司与股民 论外观模式(也叫门面模式)的相关文章

外观模式(门面模式)

医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其"分而治之",把一个系统划分为几个较小的子系统.如果把医院作为一个子系统,按照部门职能,这个系统可以划分为挂号.门诊.划价.化验.收费.取药等.看病的病人要与这些部门打交道,就如同一个子系统的客户端与一个子系统的各个类打交道一样,不是一件容易的事情. 首先病人必须先挂号,然后门诊.如果医生要求化验,病人必须首先划价,然后缴费,才可以到化验部门做化验.化验后再回到门诊室. 上图描述的是病人在医院里的体验,图

java设计模式5.组合模式、门面模式、享元模式、桥接模式

组合模式 在面向对象的语言中,树结构有着巨大的威力,一个基于继承的类型的等级结构便是一个数结构,一个基于合成的对象结构也是一个数结构.组合模式将部分与整体的关系用树结构表示出来,使得客户端把一个个单独的成分对象和由它们组合而成的合成对象同等看待. 抽象构建角色:一个抽象角色,给参加组合的对象规定一个接口,这个接口给出共有的接口及默认行为. 树叶构建角色:代表参加组合的树叶对象,没有子对象,定义参加组合的原始对象行为. 树枝构建角色:代表参加组合的有子对象的对象,并给出树枝构件对象的行为. 对于子

设置模式之-门面模式 -心得随笔

如果一个接口需要调用多个方法才能实现一个功能,那么就可以把这些方法封装到一个方法中,方便使用接口的人调用,这就是门面模式 也可以是完成一个功能需要调用很多接口,然后把这些接口再封一层,封成一个接口,对外暴露 原文地址:https://www.cnblogs.com/kuibuqianli/p/10401022.html

工厂模式和门面模式

1.3 工厂模式 任何可以产生对象的方法或类,都可以称之为工厂,单例也是一种工厂,为什么有了new之后,还需要工厂呢?以汽车举例: // 移动的接口 interface Moveable() { void go(); } // 其他交通类实现移动类接口,例如这里的小汽车 class Car inplaments Mpveable { public void go() { System.out.println("Car run ..."); } } 1.3.1 简单工厂:产品维度扩展 /

java设计模式之外观模式(门面模式)

针对外观模式,在项目开发和实际运用中十分频繁,但是其极易理解,下面就简要介绍一下. 一.概念介绍 外观模式(Facade),他隐藏了系统的复杂性,并向客户端提供了一个可以访问系统的接口.这种类型的设计模式属于结构性模式.为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用. 二.角色及使用场景 简单来说,该模式就是把一些复杂的流程封装成一个接口供给外部用户更简单的使用.这个模式中,设计到3个角色. 1).门面角色:外观模式的核心.它被客户角色调用,它熟悉子系统的功

设计模式解密(5)- 外观模式(门面模式)

1.简介 外观模式提供了一个统一的接口,用来访问子系统中的一群接口.外观定义了一个高层接口,让子系统更容易使用. 使用外观模式时,我们创建了一个统一的类,用来包装子系统中一个或多个复杂的类,客户端可以直接通过外观类来调用内部子系统中方法,从而外观模式让客户和子系统之间避免了紧耦合. 外观模式的目的不是为了给子系统添加新的功能接口,而是为了让外部减少与子系统内多个模块的交互,松散耦合,从而让外部能够更简单地使用子系统. 外观模式的本质是:封装交互,简化调用. 英文:Facade 类型:结构型模式

外观模式 门面模式 Facade 创建型 设计模式(十三)

外观模式(FACADE) 又称为门面模式 意图 为子系统中的一组接口提供一个一致的界面 Facade模式定义了一个高层接口,这一接口使得这一子系统更加易于使用. 意图解析 随着项目的持续发展,系统基本上都是会往功能更全面的方向发展,那么也就意味着我们的系统将会变得更加复杂. 系统会被划分为多个单独的子系统,每个子系统完成一部分功能,通过分工协作完成全部功能. 一个子系统也可能进一步拆分为更小的几个子系统. 程序中的文件将会越来越多,相互关联也会变得更加复杂 当使用一个功能的时候,作为客户端 你需

php中的设计模式之--门面模式

<?php /** (1)外观模式(Facade)也叫门面模式,为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 为一些复杂的子系统提供一组接口 (2)主要角色 门面(Facade)角色 ? 此角色将被客户端调用 ? 知道哪些子系统负责处理请求 ? 将用户的请求指派给适当的子系统 子系统(subsystem)角色 ? 实现子系统的功能 ? 处理由Facade对象指派的任务 ? 没有Facade的相关信息,可以被客户端直接调用 ? 可以同时有一

PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化)/约束类型/魔术方法小结

  前  言  OOP  学习了好久的PHP,今天来总结一下PHP中的抽象类与抽象方法/静态属性和静态方法/PHP中的单利模式(单态模式)/串行化与反串行化(序列化与反序列化). 1  PHP中的抽象类与抽象方法 1.什么是抽象方法?              没有方法体 {} 的方法,必须使用abstract 关键字修饰.这样的方,我们叫做抽象方法.                    abstract function say(); //    抽象方法 2.什么是抽象类?