2.11学习内容,设计模式:(门面模式)外观模式

来源:互联网 发布:手机淘宝怎么联系店主 编辑:程序博客网 时间:2024/05/16 15:05

原文:http://blog.csdn.net/evankaka/article/details/43686613

GOF《设计模式》一书对Facade模式是这样描述的:

为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。


本人android开速开发框架mquery也使用了这个模式,地址 https://github.com/qq179157977/mquery

使用方法:

控件操作:
mq = new MQuery(this);mq = new MQuery(view);
mq.id(R.id.img_left).clicked(this);
mq.id(R.id.btn_cancel).longclicked(this);
mq.id(R.id.lv_notification).adapter(notificationAdapter);
listview = (XListView) mq.id(R.id.lv_notification).getView();
mq.id(R.id.button1).background(R.drawable.ic_launcher);
mq.id(R.id.button1).checked(true);
mq.id(R.id.button1).getViewbitmap();
mq.id(R.id.button1).text("内容");
mq.id(R.id.button1).image(R.drawable.ic_launcher); 
mq.id(R.id.button1).setSelection(1);
mq.id(R.id.button1).visibility();
mq.id(R.id.button1).visibility(View.GONE);


网络请求(支持服务器的cookie)
NetAccess.request(getApplicationContext()).byCacheGet("baoidu.com", this);

HashMap<String, String> params = new HashMap<String, String>();
params.put("page", page + "");
params.put("searchphone", searchphone);
mq.request().setFlag("add").setParams(params).byGet(Urls.GETEDORDER, this);
//请求时显示加载框(showDialog)
mq.request().setFlag("get").showDialog(true).setParams(params).byCacheGet(Urls.GETEDORDER, this);
//自定义请求的加载框(setDialog)
mq.request().setDialog(dialog).setFlag("get").showDialog(true).setParams(params).byCacheGet(Urls.GETEDORDER, this);
mq.request().byPost("baidu.com", this);
mq.request().byCachePost("baidu.com", this);
//直到成功的请求
mq.request().byUntilSuccessPost("baidu.com", this);
//处理上面未成功的请求(全部失败的)
mq.request().dealFailRequest(this);


还有各种功能,正在开发中。。。

http://www.eoeandroid.com/thread-545654-1-1.html

0 0