常见的java设计模式:

总结一下常见的java设计模式:
java
后端:
1.单例模式:
类中只能有一个实例;
必须自动创建这个实例;
必须自动向整个系统提供这个实例;
优点:实例控制,灵活性高;
缺点:易造成开发混淆,自动保留上一份访问数据;

懒汉模式:是在你真正用到的时候,才去建这个单例对象;
饿汉模式:是不管你用还是用不上,一开始就建立这个单例对象;

public class Singleton{
private Singleton(){};
private volatile singleton instance=null;
private Singleton getInstance(){
If(instancenull){
syschronized(this){
if(ibstance
null){
Instance=new Singleton();
}
}
}
return instance;
};
}

2.工厂模式
定义一个用于创建对象的接口,指定子类去实例化。
比如你和老板去饭店吃鲍鱼,直接和酒店说要鲍鱼就可以了;酒店负责采购,做鲍鱼;这样我们就不用自己做鲍鱼了,也就实现了把客户和服务分开。
3.抽象工厂模式:提供一个创建一系列相关或相互依赖对象的接口,而无须指定它们的具体类.
4.解释器模式:给定一个语言,定义他的文法的一个表示,并定义一个解释器)
5.享元模式:使用共享对象的方法,用来尽可能减少内存使用量以及分享资讯。通常是工厂类辅助,用hashMap类进行辅助判断,数据池中是否有了目标实例,
如果有,则直接返回,不需要多次创建重复实例)

6.原型模式
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。即实现Cloneable接口,重写clone()方法。
比如:aa跟bb用微信聊天,喜欢引用一些古诗词来做表达,提前将一些诗词存起来,要用的时候直接复制粘贴发送,这样的情况就称为原行模式;

7.代理模式:(AOP)
代理模式就是多一个代理类出来,替原对象进行一些操作。代理类就像中介,它比我们掌握着更多的信息;

前端:
MVVM设计模式:模型层存储数据,视图层显示数据,ViewModel代替了控制器,是vue自带的一层,当我们用MVVM来编码的时候,我们不需要关注viewModel到底是怎么实现的了,它是vue内置的,帮我们完成,我们只需要关注视图层和模型层
MVP设计模式:视图层发生一个事件交给控制器,控制器要么运用ajax调用一些数据,要么操作DOM根据一些控制器中业务逻辑来操作DOM修改,此时控制器就是视图层和模型层的中转站,结合jquery来看这时模型层就很边缘,运用MVP这种模式进行编程的时候,大量的代码写在控制器中,其中大量的代码做DOM操作
对比起来:MVP相对DOM操作,会越来越复杂。而MVVM最大程度的减少了DOM操作,直接对数据进行处理,从而更加简单。

写的不是很好,希望看过的大神指点一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值