设计模式小结
来源:互联网 发布:可以做生意的软件 编辑:程序博客网 时间:2024/04/30 15:50
24.01_设计模式(单例模式的Java代码体现Runtime类)
A:Runtime类概述 每个 Java 应用程序都有一个 Runtime 类实例,使应用程序能够与其运行的环境相连接。 可以通过 getRuntime 方法获取当前运行时。 应用程序不能创建自己的 Runtime 类实例。 B:案例演示: public Process exec(String command)C:查看Runtime的源码: 发现是单例模式的应用
24.02_设计模式(模版设计模式概述和使用)
A: 需求: 计算一个for循环执行的时间B:模版设计模式概述 模版方法模式就是定义一个算法的骨架,而将具体的算法延迟到子类中来实现C:优点和缺点 a:优点: 使用模版方法模式,在定义算法骨架的同时,可以很灵活的实现具体的算法,满足用户灵活多变的需求 b:缺点: 如果算法骨架有修改的话,则需要修改抽象类D:案例演示: 模版设计模式的使用
24.03_设计模式(装饰模式概述和使用)
A:装饰模式概述: 装饰模式就是使用被装饰类的一个子类的实例,在客户端将这个子类的实例交给装饰类。是继承的替代方案B:优点和缺点 a:优点 使用装饰模式,可以提供比继承更灵活的扩展对象的功能,它可以动态的添加对象的功能, 并且可以随意的组合这些功能。 b:缺点: 正因为可以随意组合,所以就可能出现一些不合理的逻辑。C:装饰者设计模式图解:
24.04_设计模式(观察者模式概述和使用)
A: 案例: 找猎头找工作B: 观察者 = 订阅者 + 发布者
模板代码:
// 定义观察者(就是写一个接口,对外界暴露该暴露的方法) public interface OnRefreshListener { public void onRefresh(); public void onLoadMore(); } // 保存观察者 private OnRefreshListener mListener; private View footerView; private int footerHeight; public void setOnRefreshListener(OnRefreshListener listener) { this.mListener = listener; } // 通知观察者 private void notifyOnRefresh() { if (mListener != null) { mListener.onRefresh(); } }
Android中的单例设计模式(重要)
* 设计模式* 单例模式:考虑线程安全 * 饿汉模式 * 懒汉模式 * 加同步锁:synchronized * 进行两次判空
* 单例模式
public class SingleInstance { private static SingleInstance mInstance = null; // 私有化构造方法 private SingleInstance() { } // 方法同步(效率低)->代码块同步(仍需判空) public static SingleInstance getInstance() { if (mInstance == null) { synchronized (SingleInstance.class) { if (mInstance == null) { mInstance = new SingleInstance(); } } } return mInstance; } public void show() { System.out.println("mInstance~~~~~~"); } }
0 0
- 设计模式小结
- 设计模式简单小结
- 设计模式学习小结
- [ZZ]设计模式小结
- 《深入浅出设计模式》小结
- 设计模式期中小结
- 设计模式小结
- 设计模式小结
- 设计模式小结
- 设计模式小结
- 设计模式小结
- 设计模式小结
- 设计模式-小结-1
- 设计模式-小结-2
- 设计模式-小结-3
- 设计模式-小结-4
- 大话设计模式小结
- 设计模式小结
- codeforces 721C journey(动态规划+拓扑排序)
- PE文件本地DLL注入实现
- JavaSE:1min讲解引用类型参数(2)-抽象类
- Android Studio ,项目开发Bug大全
- Window 学习笔记(一)
- 设计模式小结
- Bitmap【Android】
- asp.net下微信网页授权
- 项目中的坑 总结
- remote_loginpasswordfile=NONE
- 举例解释Touch 事件的分发和消费机制(通俗易懂)
- 解读2015之自然语言处理篇:持续探索 稳中前行
- Kafka入门经典教程
- Tablayout+viewpager+fragment实现tab导航以及滑动切换