Android和设计模式:模板模式
16lz
2021-12-04
最近在继续iPhone 业务的同时还需要重新拾起Android 。在有些生疏的情况下,决定从Android 源码中感悟一些Android 的风格和方式。在学习源码的过程中也发现了一些通用的模式,希望通过一个系列的文章总结和分享下。 模板模式定义一个操作中算法的骨架,将一些步骤的执行延迟到其子类中。Android中的Activity、View等等都利用了模板模式。以AdapterView为例,所实现的模板模式的类图如下: 其中AdapterView通过getAdapter()、setAdapter(T adapter)、addView(View child)和onLayout()等方法将一部分具体逻辑延迟到各个子类实现。代码如下: public abstract class AdapterView extends ViewGroup {
......
public abstract T getAdapter();
public abstract void setAdapter(T adapter);
@Override
public void addView(View child) {
throw new UnsupportedOperationException("addView(View) is not supported in AdapterView");
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
mLayoutHeight = getHeight();
}
......
}
......
public abstract T getAdapter();
public abstract void setAdapter(T adapter);
@Override
public void addView(View child) {
throw new UnsupportedOperationException("addView(View) is not supported in AdapterView");
}
@Override
protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
mLayoutHeight = getHeight();
}
......
}
更多相关文章
- Android(安卓)实现 欢迎界面 自动跳转 到 主界面
- Android(安卓)平台上应用的赚钱模式
- Android(安卓)经典资料分享大家一起顶
- Android实时直播,一千行java搞定不依赖jni,延迟0.8至3秒,强悍移动端
- Android的联通性---USB的从属模式(一)
- android的四层体系结构,基于mvc三层结构浅析
- android:launchMode="singleTask"
- android activity的生命周期,四种启动模式
- android java开发 第一天 之熟悉eclipse adt