android应用开发设计模式之外观模式
来源:互联网 发布:淘宝排行 编辑:程序博客网 时间:2024/06/07 10:04
外观模式:提供了一个统一的接口,用来访问子系统中的一群接口。
public class Car { public String start() {return "车子已启动"; } public String check_stop() {return "检查刹车"; } public String check_box() {return "检查油箱"; } public String check_console() {return "检查仪表盘"; }}
2、新建一个外观类(该类提供了一个统一的接口用来访问Car类的接口方法)
public class Facade { public Map<String, String> car_do(Car car) {//统一的接口 方法 Map<String,String> data= new HashMap<String,String>(); /** * 用来访问子系统中的一群接口方法 */ String data1=car.check_box();String data2=car.check_console();String data3=car.check_stop();String data4=car.start();data.put("data1", data1);data.put("data2", data2);data.put("data3", data3);data.put("data4", data4);return data; }}
3、新建android客户端,给出xml以及activity:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/textview01" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <TextView android:id="@+id/textview02" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/textview03" android:layout_width="fill_parent" android:layout_height="wrap_content" /> <TextView android:id="@+id/textview04" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
主activity类:
public class FacadeActivityextends Activity { private TextView textview01; private TextView textview02; private TextView textview03; private TextView textview04; private Facade car_impl; private Map<String, String> data; @Override public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);textview01=(TextView)findViewById(R.id.textview01);textview02=(TextView)findViewById(R.id.textview02);textview03=(TextView)findViewById(R.id.textview03);textview04=(TextView)findViewById(R.id.textview04);car_impl=new Facade();data=car_impl.car_do(new Car());if(textview01!=null&&data.get("data1")!=null){ textview01.setText(data.get("data1").toString());}if(textview02!=null&&data.get("data2")!=null){ textview02.setText(data.get("data2").toString());}if(textview03!=null&&data.get("data3")!=null){ textview03.setText(data.get("data3").toString());}if(textview04!=null&&data.get("data4")!=null){ textview04.setText(data.get("data4").toString());} }}
下面看看实现的简单效果:
是不是感觉很简单啊,将子操作用一个外观接口封装起来,然后调用这个接口就可以调用那些非常复杂的微操作了。
源代码下载地址:http://download.csdn.net/detail/jindegegesun/4093597
source link:http://blog.csdn.net/jindegegesun/article/details/7297172
- android应用开发设计模式之外观模式
- android应用开发设计模式之外观模式
- Android的开发之&java23中设计模式------>外观模式
- Android设计模式应用-外观模式
- Android 设计模式之外观模式
- 设计模式之外观
- 设计模式之外观
- 设计模式 之 外观
- 设计模式之外观
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- 设计模式之外观模式
- spring AOp
- Android下UPnP-AV的开发
- Oracle常用服务简介
- 开发模式
- 我该选择怎么样的开发之路
- android应用开发设计模式之外观模式
- java高效编程一(静态工厂方法代替构造函数)
- C# 属性
- 链式队列的实现
- src/number/struts.xml
- Android UI 之TextView控件属性列表
- Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析
- javascript 日期验证
- C++ new/operator new/placement new的区别