java_facade
来源:互联网 发布:淘宝手表外贸店推荐 编辑:程序博客网 时间:2024/06/04 17:54
introduction:
外观模式:
提供一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。
外观没有”封装“子系统的类,外观只是提供简化的接口。客户如果觉得有必要依然可以直接使用子系统的类。
外观模式一个很好的特征:提供简化的接口的同时,依然将系统完整的功能暴露出来,以供需要的人使用。
demo:
description:
以用户操作一台计算机为例,用户可能不了解计算机内部错综复杂的结构,但是用户可以操作它,这是因为用户使用了操作系统这个接口,由操作系统来调用错综复杂的结构。
模拟从电脑中读写数据
Cpu.java
public class Cpu { public void useCpu(){ System.out.println("使用cpu"); } }
Disc.java
public class Disc { public void useDisc(){ System.out.println("使用硬盘"); } }
IO.java
public class IO { public void i(){ System.out.println("读取数据"); } public void o(){ System.out.println("读出数据"); }}
Memory.java
public class Memory { public void useMemory(){ System.out.println("使用内存"); }}
Computer.java
public class Computer { private Cpu cpu; private Disc disc; private IO io; private Memory memory; public Computer(Cpu cpu, Disc disc, IO io, Memory memroy) { this.cpu = cpu; this.disc = disc; this.io = io; this.memory = memroy; } public void getData(){ cpu.useCpu(); io.o(); disc.useDisc(); } public void setData(){ cpu.useCpu(); io.i(); memory.useMemory(); io.i(); disc.useDisc(); }}
Test.java
public class Test { public static void main(String[] args) { Computer computer = new Computer( new Cpu(), new Disc(), new IO(), new Memory() ); System.out.println("读数据"); computer.getData(); System.out.println("\n写数据"); computer.setData(); }}
以上实例简单描述了外观模式的含义。
在外观模式中使用了一个OO原则:
最少知识原则:只和你的密友谈话
不调用从另一个调用中返回对象的方法,这样做,相当于向另一个对象的子部分发出请求,而本原则要求我们直接对该对象发出请求,
这样一来我们就不需要认识该对象的组件了(让朋友圈子维持在最小状态)。
最少知识原则减少了对象之间的依赖,导致复杂度和开发时间的增加,并降低运行时的性能。
适配器模式和外观模式的区别:
适配器模式的意图是,改变接口符合客户的期望
外观模式的意图是,提供子系统的一个简化接口
- java_facade
- JQuery笔记3
- 仅通过崩溃地址找出源代码的出错行
- android在EditText中插入表情图片
- DNStoIP
- /usr/include/linux/if_ppp.h:117: error: expected specifier-qualifier-list before 'aligned_u64' 解决方式
- java_facade
- 全面认识Eclipse中JVM内存设置
- iPhone 沙盒路径
- thrift文件里头使用异常
- qedit.h中dxtrans.h找不到错误解决方法
- 应用程序——串口编程
- 让DIV在屏幕上居中
- GET和POST可传递的值到底有多大?
- Unix/Linux 磁盘 I/O 性能监控命令iostat