
每天一个设计模式
文章平均质量分 72
w7486
这个作者很懒,什么都没留下…
展开
-
常用设计模式与七大设计原则脑图
原创 2022-01-12 20:07:58 · 241 阅读 · 2 评论 -
设计模式-建造者模式
目录一.什么是建造者模式二.代码演示一.什么是建造者模式建造者模式的优点:封装性好,创建和使用分离 扩展性好,建造类之间独立、一定程度上解耦建造者模式的缺点:产生多余的Builder对象 产品内部发生变化,建造者都要修改,成本较大建造者模式的适用场景:适用于创建对象需要很多步骤,但是步骤的顺序不一定固定。 如果一个对象有非常复杂的内部结构(很多属性) 把复杂对象的创建和使用分离二.代码演示用建造者的模式给一个学生类赋值Student类:@Datapu原创 2022-01-09 23:04:09 · 427 阅读 · 1 评论 -
设计模式-原型模式
目录一.什么是原型模式二.浅克隆三.序列化深克隆四.递归深克隆一.什么是原型模式原型模式(Prototype Pattern)是指原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。调用者不需要知道任何创建细节,不调用构造函数属于创建型模式优点:当对象的赋值过程比较繁琐时使用原型模式非常的方便缺点:必须配备克隆((或者可拷贝)方法 对克隆复杂对象或对克隆出的对象进行复杂改造时,易带来风险。 深拷贝、浅拷贝要运用得当原型模式的适用场景...原创 2022-01-09 11:20:54 · 707 阅读 · 0 评论 -
设计模式-策略模式
目录一.什么是策略模式二.代码演示一.什么是策略模式策略模式(Strategy Pattern)又叫也叫政策模式(PolicyPattern),它是将定义的算法家族、分别封装起来,让它们之间可以互相替换,从而让算法的变化不会影响到使用算法的用户。可以避免多重分支的if...else...和switch语句属于行为型模式。比如当我们支付的时候一般会有两种选择一种是微信一种是支付宝,这就是一种策略策略模式的优点:策略模式符合开闭原则。 避免使用多重条件转移语句,...原创 2022-01-08 18:41:09 · 484 阅读 · 0 评论 -
设计模式-委派模式
目录一.什么是委派模式二.代码演示一.什么是委派模式委派模式(Delegate Pattern)又叫委托模式。它的基本作用就是负责任务的调度和任务分配,将任务的分配和执行分离开来。可以看做是一种特殊情况下的静态代理的全权代理。不属于GOF 23种设计模式之一。属于行为型模式。委派模式的优点:通过任务委派能够将一个大型的任务细化,然后通过统一管理这些子任务的完成情况实现任务的跟进,能够加快任务执行的效率。委派模式的缺点:任务委...原创 2022-01-08 14:02:35 · 771 阅读 · 0 评论 -
设计模式-代理模式
目录一.什么是代理模式二.代理模式的作用三.静态代理四.Jdk动态代理五.Cglib动态代理一.什么是代理模式代理模式(Proxy Pattern)是指为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客服端和目标对象之间起到中介作用。属于结构型设计模式。二.代理模式的作用设想这样的一个场景:我们想请杰伦演出,但是杰伦只唱歌别的琐碎的业务不想做,这时候还怎么办?这时候当然是需要找一个代理,来帮杰伦谈薪资,安排行程,买火车票。这就相相当与我们的代...原创 2022-01-06 22:50:41 · 1142 阅读 · 0 评论 -
设计模式-单例模式
目录一.什么是单例模式二.饿汉式单例三.懒汉式单例四.注册式单例五.ThreadLocal单例六.如何防止被反射和反序列化破坏一.什么是单例模式单例模式(Singleton Pattern))是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。隐藏其所有的构造方法。属于创建型模式。单例模式的优点在内存中只有一个实例,减少了内存开销。 可以避免对资源的多重占用。 设置全局访问点,严格控制访问。单例模式的缺点没有接口,扩展困难...原创 2022-01-05 19:30:34 · 359 阅读 · 0 评论 -
设计模式-工厂模式
目录一.简单工厂模式1.什么时简单工厂模式2.对简单工厂模式的理解3.代码演示二.工厂方法模式1.什么时工厂方法模式2.对工厂方法模式的理解3.代码演示三.抽象工厂1.什么抽象工厂2.对抽象工厂的理解3.代码演示一.简单工厂模式1.什么时简单工厂模式简单工厂模式(Simple Factory Pattern)是指由一个工厂对象决定创建出哪一种产品类的实例。属于创建型模式,但它不属于GOF,23种设计模式。2.对简单工厂模式的...原创 2022-01-04 22:58:03 · 289 阅读 · 0 评论 -
七大软件设计原则
一.开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节.优点:提高软件系统的可复用性及可维护性代码演示:课程接口ICourse:public interface ICourse { public Integer getId(); public String getName(); public Double getPrice();}现在有个java课程 所以要实现这个接口public class Ja原创 2022-01-04 19:18:54 · 383 阅读 · 0 评论