java设计模式之门面模式
2016-04-03 13:01
435 查看
概述: 当我们要实现一个复杂的功能时,这个功能可能是由好几个部分组成。在本文中我们以信息为例,写一封信我们大概需要4个步骤 写信,写信封,装信封,投
递。也就是说在代码我们需要调用4次方法我们才能完成这样的功能,代码的可性都维护性和拓展性都非常低。今天我们这里讲的门面模式就是将这些方法都
封装起来,只对外提供一个方法,将写信,装信封,投递这些操作全都封装到内部,这样可以极大的提高代码的拓展性和可维护性
代码如下:
github地址为: https://github.com/zhouwei5200/FacadePattern
递。也就是说在代码我们需要调用4次方法我们才能完成这样的功能,代码的可性都维护性和拓展性都非常低。今天我们这里讲的门面模式就是将这些方法都
封装起来,只对外提供一个方法,将写信,装信封,投递这些操作全都封装到内部,这样可以极大的提高代码的拓展性和可维护性
代码如下:
//定义一个写信的接口
public interface LetterPro { //内容 public void writeContext(String context); //信封 public void fillEnvelope(String address); //把信放到信封里 public void letterInotoEnvelope(); //邮递 public void sendLetter(); }
//写信的实现类
public class Letter implements LetterPro { @Override public void writeContext(String context) { // TODO Auto-generated method stub Log.i("flag", "写信"); } @Override public void fillEnvelope(String address) { // TODO Auto-generated method stub Log.i("flag", "写信封"); } @Override public void letterInotoEnvelope() { // TODO Auto-generated method stub Log.i("flag", "把信装到信封中"); } @Override public void sendLetter() { // TODO Auto-generated method stub Log.i("flag", "邮寄"); } }
/** * 在这个类中,把写信的过程都封装到这里面,只对外提供一个方法,得到信的内容和地址就可以了 * 这就是门面模式 */ Letter letter = new Letter(); public void sendMessage(String content,String address){ //写信 letter.writeContext(content); //写信封 letter.fillEnvelope(address); //装信封 letter.letterInotoEnvelope(); //发出 letter.sendLetter(); }
/** * 门面模式就是将方法实现的细节都封装到内部,只对外提供方法,极大的提高了拓展性 */ /** * 在这里我们以 写信为例 * 以前我们写信要经过4个步骤, 写内容,装信封,写地址,邮寄 * 过程太繁琐,我们可以将这些方法都封装起来,只对外提供一个方法,在内部把这些事情做完 */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Facade facade = new Facade(); facade.sendMessage("内容", "地址"); }
github地址为: https://github.com/zhouwei5200/FacadePattern
相关文章推荐
- Java web 学习之jsp—javabean
- Java设计模式--单例模式学习笔记
- 【LeetCode从零单排(Java)】No2. Add Two Numbers
- java枚举enum
- Eclipse安装JD-Eclipse反编译插件
- Exception starting filter Struts2
- JAVA反射机制
- Java虚拟机体系结构
- springMVC4(9)属性编辑器剖析入参类型转换原理
- 使用Eclipse写JSP如何自动倒包
- 深入理解java异常处理机制
- java IO 之文件的复制
- 一天一排序之“希尔排序(缩小增量排序)”
- 坦克游戏教程二:实现坦克移动以及方向控制
- 《Java程序设计》第五周学习总结
- cordova plugin 安卓原生插件开发笔记(一)
- Android中配置JDK和SDK的环境变量
- Eclipse创建的项目出现感叹号的解决方法
- java类初始化顺序
- Java 中方法的重载