欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java每日5问(第37天)

程序员文章站 2022-04-15 19:59:38
说一下你熟悉的设计模式?单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的 依赖者都会收到通知并自动更新。外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接 口,让子系统更容易使用。模版方法模式:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可 以在不改变算法结构的情况下,重新定义算法的步骤。状态模式:允许对象在内部状态改变时...

说一下你熟悉的设计模式?

单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。
观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的 依赖者都会收到通知并自动更新。
外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了一个高层的接 口,让子系统更容易使用。
模版方法模式:定义了一个算法的骨架,而将一些步骤延迟到子类中,模版方法使得子类可 以在不改变算法结构的情况下,重新定义算法的步骤。
状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。

简单工厂和抽象工厂的区别?

简单工厂:用来生产同一等级结构中的任意产品,对于增加新的产品,无能为力。 工厂方法:用来生产同一等级结构中的固定产品,支持增加任意产品。
抽象工厂:用来生产不同产品族的全部产品,对于增加新的产品,无能为力;支持增加产品族。

设计模式的优点?

设计模式可在多个项目中重用。
设计模式提供了一个帮助定义系统架构的解决方案。 设计模式吸收了软件工程的经验。
设计模式为应用程序的设计提供了透明性。
设计模式是被实践证明切实有效的,由于它们是建立在专家软件开发人员的知识和经验 之上的。

设计模式的六大基本原则?

(1) 单一原则(Single Responsibility Principle):一个类只负责一项职责,尽量做到类的只有一个行为原因引起变化;
(2) 里氏替换原则(LSP liskov substitution principle):子类可以扩展父类的功能,但不能改变原有父类的功能;
(3) 依赖倒置原则(dependence inversion principle):面向接口编程; (4)接口隔离(interface segregation principle):建立单一接口;
(5)迪米特原则(law of demeter LOD):最少知道原则,尽量降低类与类之间的耦合; (6)开闭原则(open closed principle):用抽象构建架构,用实现扩展原则;

单例模式?

单例就是该类只能返回一个实例。单例所具备的特点:

  1. 私有化的构造函数
  2. 私有的静态的全局变量
  3. 公有的静态的方法
    单例分为懒汉式、饿汉式和双层锁式饿汉式:
public class Singleton1 {
private Singleton1() {};
private static Singleton1 single = new Singleton1(); public static Singleton1 getInstance() {
return single;
}
}

懒汉式:
public class Singleton2 { private Singleton2() {}
 
private static Singleton2 single=null; public tatic Singleton2 getInstance() {
if (single == null) {
single = new Singleton2();
}
return single;
}
}
线程安全:
public class Singleton3 { private Singleton3() {}
private static Singleton3 single ; public static Singleton3 getInstance() {
if(null == single){ synchronized(single ){
if(null == single){
single = new Singleton3();
}
}
}
return single;
}
}

本文地址:https://blog.csdn.net/qq_39899164/article/details/107500264