当前位置: 首页 > news >正文

校园网站建设培训的心得体会WordPress文章生成图片

校园网站建设培训的心得体会,WordPress文章生成图片,哈尔滨网页设计培训,网站做推广页需要什么软件有哪些医院的例子 现代的软件系统都是比较复杂的#xff0c;设计师处理复杂系统的一个常见方法便是将其“分而治之”#xff0c;把一个系统划分为几个较小的子系统。如果把医院作为一个子系统#xff0c;按照部门职能#xff0c;这个系统可以划分为挂号、门诊、划价、化验、收费、… 医院的例子   现代的软件系统都是比较复杂的设计师处理复杂系统的一个常见方法便是将其“分而治之”把一个系统划分为几个较小的子系统。如果把医院作为一个子系统按照部门职能这个系统可以划分为挂号、门诊、划价、化验、收费、取药等。看病的病人要与这些部门打交道就如同一个子系统的客户端与一个子系统的各个类打交道一样不是一件容易的事情。   首先病人必须先挂号然后门诊。如果医生要求化验病人必须首先划价然后缴费才可以到化验部门做化验。化验后再回到门诊室。 上图描述的是病人在医院里的体验图中的方框代表医院。   解决这种不便的方法便是引进门面模式医院可以设置一个接待员的位置由接待员负责代为挂号、划价、缴费、取药等。这个接待员就是门面模式的体现病人只接触接待员由接待员与各个部门打交道。 门面模式的结构   门面模式没有一个一般化的类图描述最好的描述方法实际上就是以一个例子说明。  由于门面模式的结构图过于抽象因此把它稍稍具体点。假设子系统内有三个模块分别是ModuleA、ModuleB和ModuleC它们分别有一个示例方法那么此时示例的整体结构图如下 在这个对象图中出现了两个角色   ●  门面(Facade)角色 客户端可以调用这个角色的方法。此角色知晓相关的一个或者多个子系统的功能和责任。在正常情况下本角色会将所有从客户端发来的请求委派到相应的子系统去。   ●  子系统(SubSystem)角色 可以同时有一个或者多个子系统。每个子系统都不是一个单独的类而是一个类的集合如上面的子系统就是由ModuleA、ModuleB、ModuleC三个类组合而成。每个子系统都可以被客户端直接调用或者被门面角色调用。子系统并不知道门面的存在对于子系统而言门面仅仅是另外一个客户端而已。 源代码   子系统角色中的类 [java] view plaincopy print? public class ModuleA {      //示意方法      public void testA(){          System.out.println(调用ModuleA中的testA方法);      }  }   [java] view plaincopy print? public class ModuleB {      //示意方法      public void testB(){          System.out.println(调用ModuleB中的testB方法);      }  }     [java] view plaincopy print? public class ModuleC {      //示意方法      public void testC(){          System.out.println(调用ModuleC中的testC方法);      }  }    门面角色类 [java] view plaincopy print? public class Facade {      //示意方法满足客户端需要的功能      public void test(){          ModuleA a  new ModuleA();          a.testA();          ModuleB b  new ModuleB();          b.testB();          ModuleC c  new ModuleC();          c.testC();      }  }   客户端角色类 [java] view plaincopy print? public class Client {        public static void main(String[] args) {                    Facade facade  new Facade();          facade.test();      }    }    Facade类其实相当于A、B、C模块的外观界面有了这个Facade类那么客户端就不需要亲自调用子系统中的A、B、C模块了也不需要知道系统内部的实现细节甚至都不需要知道A、B、C模块的存在客户端只需要跟Facade类交互就好了从而更好地实现了客户端和子系统中A、B、C模块的解耦让客户端更容易地使用系统。     门面模式的实现   使用门面模式还有一个附带的好处就是能够有选择性地暴露方法。一个模块中定义的方法可以分成两部分一部分是给子系统外部使用的一部分是子系统内部模块之间相互调用时使用的。有了Facade类那么用于子系统内部模块之间相互调用的方法就不用暴露给子系统外部了。   比如定义如下A、B、C模块。 [java] view plaincopy print? public class Module {      /**      * 提供给子系统外部使用的方法      */      public void a1(){};            /**      * 子系统内部模块之间相互调用时使用的方法      */      private void a2(){};      private void a3(){};  }     [java] view plaincopy print? public class ModuleB {      /**      * 提供给子系统外部使用的方法      */      public void b1(){};            /**      * 子系统内部模块之间相互调用时使用的方法      */      private void b2(){};      private void b3(){};  }     [java] view plaincopy print? public class ModuleC {      /**      * 提供给子系统外部使用的方法      */      public void c1(){};            /**      * 子系统内部模块之间相互调用时使用的方法      */      private void c2(){};      private void c3(){};  }     [java] view plaincopy print? public class ModuleFacade {            ModuleA a  new ModuleA();      ModuleB b  new ModuleB();      ModuleC c  new ModuleC();      /**      * 下面这些是A、B、C模块对子系统外部提供的方法      */      public void a1(){          a.a1();      }      public void b1(){          b.b1();      }      public void c1(){          c.c1();      }  }   这样定义一个ModuleFacade类可以有效地屏蔽内部的细节免得客户端去调用Module类时发现一些不需要它知道的方法。比如a2()和a3()方法就不需要让客户端知道否则既暴露了内部的细节又让客户端迷惑。对客户端来说他可能还要去思考a2()、a3()方法用来干什么呢其实a2()和a3()方法是内部模块之间交互的原本就不是对子系统外部的所以干脆就不要让客户端知道。 一个系统可以有几个门面类   在门面模式中通常只需要一个门面类并且此门面类只有一个实例换言之它是一个单例类。当然这并不意味着在整个系统里只有一个门面类而仅仅是说对每一个子系统只有一个门面类。或者说如果一个系统有好几个子系统的话每一个子系统都有一个门面类整个系统可以有数个门面类。 为子系统增加新行为   初学者往往以为通过继承一个门面类便可在子系统中加入新的行为这是错误的。门面模式的用意是为子系统提供一个集中化和简化的沟通管道而不能向子系统加入新的行为。比如医院中的接待员并不是医护人员接待员并不能为病人提供医疗服务。   门面模式的优点   门面模式的优点   ●  松散耦合   门面模式松散了客户端与子系统的耦合关系让子系统内部的模块能更容易扩展和维护。   ●  简单易用   门面模式让子系统更加易用客户端不再需要了解子系统内部的实现也不需要跟众多子系统内部的模块进行交互只需要跟门面类交互就可以了。   ●  更好的划分访问层次   通过合理使用Facade可以帮助我们更好地划分访问的层次。有些方法是对系统外的有些方法是系统内部使用的。把需要暴露给外部的功能集中到门面中这样既方便客户端使用也很好地隐藏了内部的细节。   作者jason0539 微博http://weibo.com/2553717707 博客http://blog.csdn.net/jason0539转载请说明出处 顶17踩
http://www.zqtcl.cn/news/485029/

相关文章:

  • 服务类型网站开发需要哪些技术中国设计师网效果图
  • 电子商务网站建设技术有哪些方面做婚礼请柬的网站有哪些
  • 做暖暖欧美网站全国职工素质建设工程专题网站
  • 策划对于企业网站建设来说网站开发新加坡
  • 做仪表行业推广有哪些网站个人网站备案模板
  • 做微网站是订阅号还是服务号号网站建设叫什么软件
  • 美团初期是怎么建网站特效视频素材网站
  • 网站建设行业市场分析刚创业 建网站
  • 网站推广昔年下拉wordpress 首页添加链接地址
  • 网站年费推荐专业做网站公司
  • 邵东微网站建设设计网页图片
  • 沈阳高端做网站建设应用软件商店
  • 05网站首页设计说明
  • 给企业做网站运营手机做简单的网站
  • 做网站卖广告国家公示企业信息查询系统
  • 西安网站建设公司找哪家如何做平台推广赚钱
  • 网站优化个人工作室怎么找网站开发公司
  • 如何把网站一个栏目做301跳转推广途径
  • 房山做网站北京本地网络推广平台
  • 网站建设 麓谷政法网站建设有哪些不足
  • 湖北网站建设路建设工程安全事故在哪个网站查
  • 建筑公司查询网站网站开发 系统需求文档
  • 温州做网站的公司有哪些宝塔搭建wordpress主机地址
  • 重庆商务网站建设南昌新力中心 nanchang sinic center
  • 潍坊建设厅官方网站店铺网络营销策划方案
  • 东营聊城网站建设博客论坛用wordpress
  • 哈尔滨中国建设银行网站首页seo快速入门教程
  • 网站建设项目环境影响评价目录南宁网站建设索王道下拉
  • 广州富邦物流网站建设南宁住房和城乡建设部网站
  • asp.net 公司网站全面的移动网站建设