
设计模式
笙箫123
梦想还是要有的,万一实现了呢
展开
-
设计模式面试题
你在开发中都用到了那些设计模式?用在什么场合?答:面试被问到关于设计模式的知识时,可以拣最常用的作答,例如:1)工厂模式:工厂类可以根据条件生成不同的子类实例,这些子类有一个公共的抽象父类并且实现了相同的方法,但是这些方法针对不同的数据进行了不同的操作(多态方法)。当得到子类的实例后,开发人员可以调用基类中的方法而不必考虑到底返回的是哪一个子类的实例。2)代理模式:给一个对象提供一个代...原创 2019-10-20 12:04:02 · 440 阅读 · 0 评论 -
策略模式
策略模式定义了一系列算法,并将每个算法封装起来,使他们可以相互替换,且算法的变化不会影响到使用算法的客户。需要设计一个接口,为一系列实现类提供统一的方法,多个实现类实现该接口,设计一个抽象类(可有可无,属于辅助类),提供辅助函数。策略模式的决定权在用户,系统本身提供不同算法的实现,新增或者删除算法,对各种算法做封装。因此,策略模式多用在算法决策系统中,外部用户只需要决定用哪个算法即可。...原创 2019-10-19 14:48:14 · 199 阅读 · 0 评论 -
观察者模式
观察者模式很好理解,类似于邮件订阅和 RSS 订阅,当我们浏览一些博客时,经常会看到 RSS 图标,就这的意思是,当你订阅了该文章,如果后续有更新,会及时通知你。其实,简单来讲就一句话:当一个对象变化时,其它依赖该对象的对象都会收到通知,并且随着变化!对象之间是一种一对多的关系。 public interface Observer { public void update();}...原创 2019-10-19 14:44:12 · 258 阅读 · 0 评论 -
装饰模式
顾名思义,装饰模式就是给一个对象增加一些新的功能,而且是动态的,要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。 public interface Sourceable { public void method(); } ---------------------------------------------------- public class S...原创 2019-10-19 14:40:02 · 195 阅读 · 0 评论 -
适配器模式
适配器模式将某个类的接口转换成客户端期望的另一个接口表示,目的是消除由于接口不匹配所造成的类的兼容性问题。主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。类的适配器模式 public class Source {public void method1() { System.out.println("this is original method!"); } ...原创 2019-10-19 14:35:30 · 179 阅读 · 0 评论 -
建造者模式
工厂类模式提供的是创建单个类的模式,而建造者模式则是将各种产品集中起来进行管理,用来创建复合对象, 所谓复合对象就是指某个类具有不同的属性,其实建造者模式就是前面抽象工厂模式和最后的 Test 结合起来得到的。 public class Builder { private List<Sender> list = new ArrayList<Sender>()...原创 2019-10-17 19:49:37 · 292 阅读 · 0 评论 -
单例设计模式
最好理解的一种设计模式,分为懒汉式和饿汉式。 饿汉式: public class Singleton {// 直接创建对象 public static Singleton instance = new Singleton(); // 私有化构造函数 private Singleton() { } // 返回对象实例 public static Sing...原创 2019-09-30 00:08:57 · 150 阅读 · 0 评论 -
工厂设计模式
工厂模式分为工厂方法模式和抽象工厂模式。 工厂方法模式 工厂方法模式分为三种:普通工厂模式,就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。 多个工厂方法模式,是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能 正确创建对象,而多个工厂方法模式是提供多个工厂方法,分别创建对象。 静态工厂方法模式,将上面的多个工厂方法模式里的方法置为静态的...原创 2019-10-10 21:31:20 · 173 阅读 · 1 评论