- 博客(15)
- 资源 (4)
- 收藏
- 关注
原创 观察者模式-发布订阅模式
很早之前就想写这个东西了,那时候学习的时候接触到了接口,然后是回调函数,然后是思考安卓的按钮监听事件。定义观察者模式又称为发布订阅模式。它的现实场景是早上有课,闹钟响了,寝室里的同学都醒过来准备去上课了。那么我们在现实世界的很多需求都是可以抽象成这个模式的。业务逻辑能很清楚的划分出观察者(订阅者订阅)和被观察者(发布者发布)对于我们梳理需求和后面的工程维护都是很有帮助的,而且这个模式效率也是很高的,我想象了一下,如果不采取这个模式我早上怎么知道要去上课了呢?除了轮询我想不到还有什么方法(或者我设置一个代
2020-12-07 14:49:55
152
原创 代理模式
概念和功能代理模式(Proxy Pattern)是让一个类代表另一个类(作为另一个类的代理)去实现该类要求的特定功能。这种类型的设计模式属于结构型模式。代理模式和装饰器模式很像。装饰器模式是拿到一个类的实例然后再该类基础上进行添加功能;代理模式也是拿到一个类的实例然后再该类的基础上添加功能,但是代理类相对于装饰类更有“针对性”。打个比方:装饰类就好比“锦上添花”,在拿到了“美丽的锦物”之上还绣...
2018-12-12 07:59:24
236
原创 装饰器模式
概念和功能装饰器模式(Decorator Pattern)允许**向一个现有的对象添加新的功能,同时又不改变其结构**。这种还是属于**结构型模式**。它是作为现有的类的一个包装,这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能...
2018-10-14 22:19:28
189
原创 Vue开发环境搭建(全)—— H5最新开发环境搭建
项目现在要试用hybird模式,需要重新把web前端拾起来了,前端开发框架打算采用现在发展很迅速的Vue框架,下面介绍下它的环境的配置。1.安装和配置NodeJS去nodejs官网下载最新的版本,我的是windows系统,下载的文件是exe执行文件,直接双击运行,不停地点击“下一步”/“next”,直到安装完成,期间留意一下自己选择的安装地址。安装完成之后需要配置npm的环境变量和node...
2018-09-10 21:44:33
26021
原创 适配器模式
概念和功能适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式。 适配器模式中的适配器功能和我们生活中用到的各种适配器功能一样——提供一个接口来将原本不契合的两个个体很好的链接起来。比如我们的手机电源适配器,用来给手机电池充电的,手机电池只能接受5V的电压,可是家里有很多电器需要使用,很多电器的电压是220V的,接入家里的电压是220...
2018-08-21 21:05:10
257
原创 LayoutInflater源码解析
添加布局文件的时候想获取布局文件自己定义的size来填充到新控件里去,用LayoutInflater.from(getContext()).inflate(R.layout.resId, parent)把parent带上,效果不是很理想,需要进一步优化。
2018-07-24 20:51:33
342
原创 MVC-MVP-MVVM
MVCMVC是有一定历史的架构了,它分为model-view-controller,它用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。最典型的MVC就是之前学习的jsp+servlet+javabean模...
2018-06-18 22:45:39
323
原创 DataBinding源码解析
在上一篇博客,我们是通过DataBindingUtil的.setContentView(this, R.layout.activity_main)方法来获取DataBinding对象的。那这个继承ViewDataBinding的Databinding对象是什么?它在整个架构中起到的作用是什么?我们带着问题去相关的源码里面找一找答案。 首先是ViewDataBinding.java文件:接口O...
2018-05-19 09:42:20
594
原创 DataBinding使用教程详解
序针对MVP和MVC架构的理解还是比较清晰的,但是微软早些提出的MVVM还不是很了解,只知道一个词在耳边很热——“数据驱动”。下面通过对MVVM在Android端的实践DataBinding的深入学习来加深对MVVM模式的理解。DataBinding介绍DataBinding——数据绑定,是Google对MVVM在Android上的一种实现,可以直接绑定数据到xml中,通过View...
2018-05-06 18:02:01
5735
原创 关于Intent的那些事儿(一)
intent构造函数有(1)Intent();(2)Intent(Intent copy);(3)Intent(String action,Uri uri);一、Intent启动方式分为implecit和explicit。explicit明确要启动的class的name;使用Intent的构造函数Intent(action,class);implicit没有明确指出要启动的组件的名称,而是通过In...
2018-04-18 14:39:46
248
1
原创 Android OkHttp 框架学习(应用篇)
官方介绍:http://square.github.io/okhttp/ http://square.github.io/retrofit/ 引用: AndroidStudio: compile 'com.squareup.okhttp3:okhttp:3.6.0' compile 'com.squareup.okio:okio:1.5.0'Eclipse: LastedOkHtt...
2017-02-14 18:06:00
401
原创 共享元素变换
共享元素变换1.完成两个activity的效果切换 in MainActivity(界面1)activity_main_img.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Inten
2017-01-03 16:53:58
437
原创 Android绘制listview的优化理解
绘制listview中,为了丰富listitem的内容,我们一般定义一个类继承BaseAdapter,需要重写BaseAdapter的一些方法,其中有优化空间的方法是getView方法@Overridepublic View getView(int position, View convertView, ViewGroup parent) {}position: The pos
2015-02-27 10:53:46
772
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人