您好,登录后才能下订单哦!
本篇内容介绍了“java设计模式基础知识有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
1、单例模式
单例模式:分为饿汉式和懒汉式
饿汉式:
public class Singleton {
private static Singleton instance = new Singleton();
private Singleton(){}
public static Singleton getInstance(){
return instance ;
}
}
懒汉式:
public class Singleton02 {
private static Singleton02 instance;
private Singleton02(){}
public static Singleton02 getInstance(){
if (instance == null){
instance = new Singleton02();
}
return instance;
}
}
//线程安全的单例,使用同步代码块锁住实例的创建,使其在一个线程中仅会初始化一次
//(使用双重校验锁去处理)
public class Singleton02 {
private static Singleton02 instance;
private Singleton02(){}
public static Singleton02 getInstance(){
if (instance == null){
synchronized (Singleton02.class)
if (instance == null){
instance = new Singleton02();
}
}
}
return instance;
}
}
2、MVP,MVC,MVVM
MVP模式,对应着Model–业务逻辑和实体模型,view–对应着activity,负责View的绘制以及与用户交互,Presenter–负责View和Model之间的交互,MVP模式是在MVC模式的基础上,将Model与View彻底分离使得项目的耦合性更低,在Mvc中项目中的activity对应着mvc中的C–Controllor,而项目中的逻辑处理都是在这个C中处理,同时View与Model之间的交互,也是也就是说,mvc中所有的逻辑交互和用户交互,都是放在Controllor中,也就是activity中。View和model是可以直接通信的。而MVP模式则是分离的更加彻底,分工更加明确Model–业务逻辑和实体模型,view–负责与用户交互,Presenter 负责完成View于Model间的交互,MVP和MVC最大的区别是MVC中是允许Model和View进行交互的,而MVP中很明显,Model与View之间的交互由Presenter完成。还有一点就是Presenter与View之间的交互是通过接口的
3、工厂模式 无锡妇科医院排行 http://www.0510bhyy.com/
(1). 简单工厂模式
简单工厂的定义:提供一个创建对象实例的功能,而无须关心其具体实现。被创建实例的类型可以是接口、抽象类,也可以是具体的类(工厂为接口或者抽象类,实例为继承该接口或者抽象类的类)
(2). 工厂方法
就是讲简单工厂模式当中的基类接口或者抽象类作为工厂的方法的返回值使用,然后由实例继承该工厂类
(3). 抽象工厂
就是工厂类为抽象类,然后必须要有一个缺省子类来继承该工厂,实现其工厂方法返回一个默认的数据
4、观察者模式
观察者模式又称为发布/订阅(Publish/Subscribe)模式
观察者设计模式涉及到两种角色:主题(Subject)和观察者(Observer)
Java中观察者模式需要被观察者继承java.util.Observable类,需要观察者实现java.util.Observer接口。其中Observer接口中有一个update方法,它在被观察者的某些位置发生改变时会被自动调用。
5、建造者模式builder
创建者模式又叫建造者模式,是将一个复杂的对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。创建者模式隐藏了复杂对象的创建过程,它把复杂对象的创建过程加以抽象,通过子类继承或者重载的方式,动态的创建具有复合属性的对象。
6、装饰器模式
装饰器模式,顾名思义,就是对已经存在的某些类进行装饰,以此来扩展一些功能。其结构图如下:
Component为统一接口,也是装饰类和被装饰类的基本类型。
ConcreteComponent为具体实现类,也是被装饰类,他本身是个具有一些功能的完整的类。
Decorator是装饰类,实现了Component接口的同时还在内部维护了一个ConcreteComponent的实例,并可以通过构造函数初始化。而Decorator本身,通常采用默认实现,他的存在仅仅是一个声明:我要生产出一些用于装饰的子类了。而其子类才是赋有具体装饰效果的装饰产品类。
ConcreteDecorator是具体的装饰产品类,每一种装饰产品都具有特定的装饰效果。可以通过构造器声明装饰哪种类型的ConcreteComponent,从而对其进行装饰。
“java设计模式基础知识有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。