文档章节

外观模式-设计模式

douglaswei
 douglaswei
发布于 2014/06/22 18:04
字数 428
阅读 33
收藏 0

外观模式-设计模式

外观模式是将client端要调用的多个接口封装到一个Face类中,Face类封装了内部系统且作为该系统对外提供功能的接口,为client提供一个一致的界面,简化client调用系统接口步骤,使得系统易于使用,减低复杂度,控制bug数,节省学习成本。Face类通过组合现有子系统的接口方法完成一个对外提供功能点,不是通过新增方法。外观模式为client端调用系统功能提供了一个缺省的功能实现,如果Face类提供的功能不能完成需求,这个时候就需要client自己来组合子系统方法完成功能点。外观模式是对现有功能的组合,不新增新方法,避免理解混淆,Face功能定义不清晰,遵循单一职责原则。

Client --> Face-->(Ainterface-->AinterfaceImpl,Binterface-->BinterfaceImpl)

一般在client要通过组合多个子系统功能来完成一个功能点时使用,如果多处调用,效果更佳。例如:代码生成器-生成model+business+dao,资源加载和处理流程。低耦合的好处是对Face内部已经子系统内部的修改不会影响到client端的调用。

外观模式:是从架构的层次观察整个系统,封装子系统方法创建高层接口,使得系统易于使用,世界变得清新和美好。

PS: 最好的技术和理论是学习成本低的技术和理论,是大家都学会的技术和都能理解的理论。

© 著作权归作者所有

共有 人打赏支持
douglaswei
粉丝 8
博文 58
码字总数 39734
作品 0
珠海
架构师
设计模式什么的哪有那么神秘 ----第一集 一些吐槽和重构的韵味

一日面试, ...... Hr:你对设计模式熟悉吗? 应聘者A:我了解常用的设计模式,平时经常使用工厂模式和单例模式.而且我也看过一些讲23种设计模式的书.其他不常用的模式用的不是太熟. Hr:你用过外观...

架构梦想
2013/08/04
0
7
小菜学设计模式——设计模式总结之结构型

1、设计模式总结 设计模式总共23个,但是常用的不到10个,下面就把这23个设计模式进行整理归类,具体如下: 1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型...

learn_more
2015/07/06
0
0
java设计模式-- 单例模式

在很久之前,也就是在大二暑假的时候,那时候看马士兵的视频教程中有提到很多的设计模式。 java的设计模式大致可以分为3大类,23种设计模式。 其中,创建型模式有5种:单例模式、建造者模式、...

爱学习的逃课君
2014/11/27
0
0
(目录)设计模式(可复用面向对象软件的基础)

本系列“设计模式”博客使用Golang语言实现算法。所谓算法是指解决一个问题的步骤,个人觉得不在于语言。小弟只是最近学习Golang,所以顺带熟练一下语法知识,别无它意。 本系列博客主要介绍...

chapin
2015/01/13
0
0
你需要了解的23种JavaScript设计模式

为什么要学习设计模式? 在许多访谈中,你可能会遇到很多面向对象编程中的接口,抽象类,代理和以及其他与设计模式相关的问题。 一旦了解了设计模式,它会让你轻松应对任何访谈,并可以在你的...

java高级架构牛人
06/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

简单谈一谈压力测试

最近,在做API的压力测试,趟了不少坑,然后呢,简要记录一下。 压测前需要准备的一些事 拿到API文档不要立马上手,先基准测试,就是执行一次接口测试,至少要压这个接口,要先熟悉一下他的参...

浮躁的码农
29分钟前
0
0
PHP 错误调查

一.定义:PHP错误是由PHP无法读懂执行的代码引起的错误。 二:错误日志 error log 1.在php.ini 里设置 log_errors = on, log文件位置 error_log=/tmp/php_errors.log 2.代码里设置ini_set('...

忙碌的小蜜蜂
32分钟前
0
0
knn算法

import numpy as np def CreateDateSet(): group = np.array([[1.0, 2.0], [1.2, 0.1], [0.1, 1.4], [0.3, 3.5]]) labels = ['A','A','B','B'] return group,labels coding:utf-8 from numpy......

南桥北木
33分钟前
0
0
自己手写一个 SpringMVC 框架

前端框架很多,但没有一个框架称霸,后端框架现在Spring已经完成大一统.所以学习Spring是Java程序员的必修课. Spring 框架对于 Java 后端程序员来说再熟悉不过了,以前只知道它用的反射实现的,...

别打我会飞
今天
2
0
01-《Apache Tomcat 9》之文件索引

《Apache Tomcat 9》是《看Apache官方文档学英语》的第一个专栏!让我们一起在看文档的过程中学英语,在学英语的过程中夯实技术! Documentation Index - 文件索引 Introduction - 介绍 This...

飞鱼说编程
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部