设计模式
文章平均质量分 85
技术人宝哥
北漂15年互联网技术人,服务于优酷,阿里,京东的大厂,深耕技术管理、广告变现、高并发/复杂系统架构设计
展开
-
理解工厂模式
<br />在网上看到的这个例子,觉得比较形象,来和大家分享一下:<br />引入人、工厂、和斧子的问题:<br /> (1),原始社会时,劳动社会基本没有分工,需要斧子的人(调用者)只好自己去磨一把斧子,每个人拥有自己的斧子,如果把大家的石斧改为铁斧,需要每个人都要学会磨铁斧的本领,工作效率极低。<br />对应Java里的情形是:java程序里的调用者new一个被调用者的实例。类耦合度极高,修改维护烦琐,效率极低。<br /> (2),工业社会时,工厂出现,斧子不再由普通人完成,而由工厂生产,当人们原创 2011-03-18 17:47:00 · 932 阅读 · 0 评论 -
设计模式-策略模式
策略模式: 策略模式是对一组算法的封装,任何在各个算法之间进行方便的切换。 结构: 抽象策略类(abstract) 实现策略类 封装策略类(Context) 使用场合: 多个类在算法、行为上面有相似的情况。 需要屏蔽算法规则的情况下 优点: 每个策略封装为类,避免了使用很多的条件判断 各个算法之间切换方便 缺点: 每个策略封装成一个类,类膨胀原创 2013-07-23 10:34:25 · 762 阅读 · 0 评论 -
设计模式-模板方法模式
模板方法模式: 定义一个操作算法的框架,将一些算法、操作步骤放到子类中。 结构: 基本方法(子类实现) 模板方法(在抽象类中实现,调用基本方法):可以有多个 优点: 封装不变部分(父类)、扩展可变部分(子类) 行为父类控制,子类实现 适用场景: 1、多个类有共有的方法,基本逻辑相同 2、复杂的算法,可以把核心算法放到模板方法中,其它细节放到子类中来实原创 2013-07-23 10:38:13 · 745 阅读 · 0 评论 -
设计模式-状态模式
简单用一句话来表述,状态模式把所研究的对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的一个子类。状态模式的意图是让一个对象在其内部状态改变的时候,其行为也随之改变。原创 2013-04-10 11:48:12 · 879 阅读 · 0 评论 -
三种单例模式的创建方法
<br />单例模式分三种:懒汉式单例、饿汉式单例、登记式单例三种。<br />1、单例类只能有一个实例。<br />2、单例类必须自己创建自己的唯一实例。<br />3、单例类必须给所有其他对象提供这一实例。<br />一、懒汉式单例<br />懒汉式单例在类被加载的时候,唯一实例已经被创建。这个设计模式在Java中容易实现,在别的语言中难以实现<br />package cn.id5.singleton;<br />public class LazySingleton {<br /> /*** 私有静态原创 2011-03-18 17:24:00 · 1797 阅读 · 1 评论