博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式——外观模式
阅读量:6326 次
发布时间:2019-06-22

本文共 1277 字,大约阅读时间需要 4 分钟。

     外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。

     简单的说,外观模式就是把复杂的系统的具体操作封装起来,只暴露一个简单的接口,做和众多子系统之间松耦合。

     提到一个设计原则:最少知识原则,只和你的密友谈话。(HeadFirst中的描述)具体的说就是让类和类之间尽量松耦合,类与类之间的依赖降到最低,各司其职。

     迪米特法则:一个软件实体应当尽可能少的与其他实体发声相互作用。

     用一个注册公司的系统来说明问题:

     AIC 工商局

     BQS 质监局
     Bank 银行
     TaxB 税务局

    

public interface AIC  {	void checkName();  }class BJAIC implements AIC {	@Override	public void checkName() {		System.out.println("检查名字是否有冲突!");	}}public interface BQS {	void  orgCodeCertificate();  //办理组织机构代码证}class BJBQS implements BQS {	@Override	public void orgCodeCertificate() {		System.out.println("在北京质检局办理组织机构代码证!");	}}public interface Bank {	void  openAccount();  //开户}class BJBank implements Bank {	@Override	public void openAccount() {		System.out.println("在北京银行开户!");	}}public interface TaxB {	void taxCertificate();  //办理税务登记证}class BJTaxB implements TaxB {	@Override	public void taxCertificate() {		System.out.println("在北京税务局办理税务登记证!");	}}public class RegisterFacade {	public void register(){		AIC  a = new BJAIC();		a.checkName();		BQS b = new BJBQS(); 		b.orgCodeCertificate();		TaxB  c  = new BJTaxB();		c.taxCertificate();		Bank  d = new BJBank();		d.openAccount();	}}public class Client {	public static void main(String[] args) {		//使用外观模式之后注册公司就是这么简单!!还有谁!!		new RegisterFacade().register();	}}

 

 

 

    

转载地址:http://pcgaa.baihongyu.com/

你可能感兴趣的文章
Qt之文本编辑器(二)
查看>>
python编译时检查语法错误
查看>>
考题纠错2
查看>>
SQL——索引
查看>>
Python新手快速入门教程-基础语法
查看>>
JVM性能调优入门
查看>>
关于raid的基本原理、软raid的实现演示
查看>>
科技企业的幕后推手,人工智能究竟有何魔力
查看>>
详解Oracle临时表的几种用法及意义
查看>>
HTML(七)------ 表格
查看>>
如何成为一个设计师和程序员混合型人才
查看>>
unable to load selinux policy. machine is in enforcing
查看>>
2015年10月23日作业
查看>>
MySQL5.7 加强了root用户登录安全性
查看>>
CentOS 6.3_Nagios安装配置与登录
查看>>
加强型的记录集权限(数据集权限、约束表达式设置功能)实现方法界面参考...
查看>>
Linux 内存机制
查看>>
linux下定时任务
查看>>
SharePoint 2013 部署 Part 1
查看>>
DWGSee看图纸dwg文件阅读器免费下载地址
查看>>