
设计模式
gacmy
这个作者很懒,什么都没留下…
展开
-
策略模式
设计原则 1.找出应用可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。 2.针对接口编程,而不是针对实现编程。 3.所用组合,少用继承 策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式 让算法的变化独立于使用算法的客户。 一个普通超级对象类鸭子类 把它变化的行为飞fly 和叫quack分离出来, 不同的鸭子 可能会飞可能不原创 2015-11-02 23:04:28 · 416 阅读 · 0 评论 -
设计模式之装饰者模式(一)
设计模式之装饰者模式一 一个咖啡店的咖啡为一个抽象类,所有其它的咖啡类型都继承这个类, Breverage String description getDescription() Cost()getDescription返回饮料的名称 Cost是一个抽象的方法,子类中实现自己的cost方法。 下面有几个饮料 HouseBlend DarkRost Decaf Espresso 这些原创 2016-03-03 00:00:35 · 638 阅读 · 0 评论 -
装饰者模式实际应用
Java IO类采用了装饰者模式: 利用装饰者模式会产生很多的小类。 InputStream 子类:FileInputStream StringBufferInputStream ByteArrayInputStream FilterInputStream FilterInputStream子类:PushbackInputStream BufferedInputStream DataInput原创 2016-03-08 20:11:28 · 845 阅读 · 0 评论 -
设计模式之观察者模式
想要建立一个应用,利用WeatherData对象取得数据,并更新三个布告板:目前状况,气象统计,和天气预报。 最原始的代码 WeatherData getTemperature() getHumidity() getPressure(); Measure- mentsChanged() //一旦气象测量更新,此方法会被调用 Public void measurementsC原创 2016-02-24 21:23:59 · 484 阅读 · 0 评论 -
单例模式讲解应用
单线程单例模式public class Singleton { //定义一个属性,用来保存Singleton类对象的实例 private static Singleton instance; //私有构造器,该类不能被外部类使用new方式实例化 private Singleton(){ } //外部通过该方法获取原创 2016-08-05 15:11:14 · 517 阅读 · 0 评论 -
单一职责之ImageLoader(一)
单一职责原则 一个类应该只有一个引起变化的原因,也就是类中的成员方法,字段都是息息相关的,将相关性不高的部分抽象, 独立出来。public class ImageLoader { //图片缓存 LruCache<String,Bitmap> mImageCache; //线程池 ExecutorService mExecutorService = Executo原创 2016-09-10 22:39:26 · 390 阅读 · 0 评论 -
单一职责之ImageLoader(二)
public class ImageCache { //图片缓存 LruCache<String,Bitmap> mImageCache; public ImageCache(){ } private void initImageCache(){ //计算可用的最大内存 final int maxMemory = (int)(Ru原创 2016-09-10 22:49:05 · 401 阅读 · 0 评论 -
单一职责之ImageLoader(四)增加sd卡缓存
public class ImageCache { //图片缓存 LruCache<String,Bitmap> mImageCache; public ImageCache(){ } private void initImageCache(){ //计算可用的最大内存 final int maxMemory = (int)(Ru原创 2016-09-11 20:53:57 · 702 阅读 · 0 评论