什么是设计模式?你是否在你的代码里面使用过任何设计模式?


1、什么是设计模式?

设计模式是解决软件开发某些特定问题而提出的一些解决方案,也可以理解为解决问题的一些固定思路。

通过设计模式可以帮助我们增强代码的可复用性、可扩展性、灵活性。

我们使用设计模式的最终目的是实现代码的高内聚、低耦合。

2、设计模式的七大原则

    单一职责原则
    接口隔离原则
    依赖倒转原则
    里式替换原则
    开闭原则
    迪米特法则
    合成复用原则

3、你是否在你的代码里面使用过任何设计模式?

(1)单例模式

JDK种的runtime,Spring种的singeton。

(2)简单工厂模式

Spring的BeanFactory,根据传入一个唯一标识来获得bean对象。

(3)原型模式

clone()

(4)代理模式

Spring的AOP中,Spring实现AOP功能的原理就是代理模式,①JDK动态代理。②CGLIB动态代理,使用Advice(通知)对类进行方法级别的切面增强。

(5)装饰器模式

为类添加新的功能,防止类爆炸;

IO流、数据源包装,Spring中用到的装饰器模式表现在Wrapper。
109、Java 中什么叫单例设计模式?请用 Java 写出线程安全的单例模式

    保证程序只有一个对象的实例,叫做单例模式;
    内部类的方式实现单例模式,是线程安全的;
    双重验证方式实现单例模式也是线程安全的;

110、在 Java 中,什么叫观察者设计模式(observer design pattern)?

1、观察者模式是一种一对多的依赖关系,让多个观察者同时监听某一主题对象。当这个主题对象发生变化时,会通知所有观察者对象,使它们能够自动更新自己。

2、JAVA提供的对观察者模式的支持

在JAVA语言的java.util库里面,提供了一个Observable类以及一个Observer接口,构成JAVA语言对观察者模式的支持。

(1)Observer接口

这个接口只定义了一个方法,即update()方法,当被观察者对象的状态发生变化时,被观察者对象的notifyObservers()方法就会调用这一方法。

    public interface Observer {
        void update(Observable o, Object arg);
    }

(2)Observable类

被观察者类都是java.util.Observable类的子类。java.util.Observable提供公开的方法支持观察者对象,这些方法中有两个对Observable的子类非常重要:一个是setChanged(),另一个是notifyObservers()。第一方法setChanged()被调用之后会设置一个内部标记变量,代表被观察者对象的状态发生了变化。第二个是notifyObservers(),这个方法被调用时,会调用所有登记过的观察者对象的update()方法,使这些观察者对象可以更新自己。


0 0
讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
帮助