
设计模式
轻云K
这个作者很懒,什么都没留下…
展开
-
设计模式之命令模式
命令模式说明:将客户端的请求封装成一个对象,并将其交给对应的处理对象,用以实现处理对象和请求对象直接的分离(解耦),个人感觉有点像http 请求到对应的服务,请求的封装基本都一样,只是对应的参数不一样而已。/** * @ClassName Order * @Author 莫邪 * @Description TODO 接受请求对象的服务接口 * @Date Created in 19:19 2019/6/17 * @Version 1.0 */public interface Order {原创 2020-07-06 22:51:31 · 102 阅读 · 0 评论 -
设计模式之观察者模式
观察者模式(发布-订阅)对象间一种一对多的依赖关系,一的方的对象改变,则所有依赖于它的对象都会得到通知并自动更新。本质:触发联动有点类似于监听器模式,下面进行简单的说明监听器模式:本质也还是触发联动,本人认为监听器本质是观察者模式的进阶,可以将事件源(谁)将主题进行变化封装成一个对象(事件),然后再将这个事件推给感兴趣的对象(注册的对象),多个主题可以由统一的事件管理器(特殊的类)进行处理,管理器维持着(事件类型-监听者Listener之间的关系,一般用Map<event.class,List原创 2020-06-28 23:29:49 · 129 阅读 · 0 评论 -
设计模式之代理模式
设计模式之代理模式唠叨两句:放假是真的不想写博客,连搬代码的都不想。一点动力都没,电脑开了一早上,愣是没动过。不定时更新,设计模式 估计还有7,8篇,完了好像就不知道写啥了,感觉肚子里没啥货。哈哈哈我真是太水了代理模式又分静态代理和动态代理两种形式,用于控制对对象的调用目的:比如说:要访问的对象在远程的机器上。 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制, 或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此原创 2020-06-26 19:14:49 · 107 阅读 · 0 评论 -
设计模式之中介者模式
设计模式之中介者模式唠叨几句:设计模式的案例我已经写过大部分的案例,但是本人没有经常写博客的习惯,最近在将本人之前在码云上的案例直接搬过来个人感觉容易和外观模式弄混,所以在这里做下简单的比较外观模式:本质封装交互,组合调用。就是向外部提供一组功能,但是具体的实现比较复杂,内部有喝多的组件相互组合调用,强调的是外观接口,内部可能会有多种实现。为复杂的系统调用提供一个统一接口,降低系统与客户端的耦合度,使得客户端调用非常方便。外观模式中介者模式:将多个对象之间的行为交互(相关业务)放在这里统一管理(因原创 2020-06-22 23:19:17 · 163 阅读 · 0 评论 -
设计模式之原型模式
设计模式之原型模式原型模式:克隆出一个拷贝对象,分深克隆和浅克隆深克隆:对象内部的所有内容都复制一遍(指的是引用对象)浅克隆:对象内部的东西直接复用(指的是引用对象)下面是提供测试得服务方内容//实现标记接口,代表可以克隆//当创建对象比较麻烦的时候可以采用克隆模式。可以使用java自带支持的克隆接口。也可以不使用(使用自己编写的接口)// java底层实现克隆的方式直接拷贝二进制(所以当创建对象的消耗比较大的时候可以使用)public class SeverUnit implements原创 2020-06-21 12:24:06 · 90 阅读 · 0 评论 -
设计模式之构建者模式(builder)/生成器模式
构建者模式(builder)/生成器模式构建过程一样,但是不同的参数,产生的结果是不一样的(结果可以是对象之类的)学习一种设计模式不要直接按照死模板来写,可以根据实际的情况进行改造。重要的是达到目的。//定义一个统一的构建对象(想要的结果)的过程,以实现可以传入相同的参数,使用同样的构建过程可以有不同的对象被构建出来,有点像一个构建工厂(用于构建我们想要的结果)//本质:构建对象的过程进行抽象于实现进行分离public abstract class Builder { protected原创 2020-06-18 23:37:33 · 123 阅读 · 0 评论 -
设计模式---抽象工厂模式
抽象工厂模式定义:用于创建具有相同规律或产品层次的族的产品(类)的模式,定义创建这些类的抽象工厂,具体实现交由子类实现简单说就是抽象工厂模式是用于定于产品族的创建的模式看完感觉不错,麻烦点个赞,让我开心下/** * @ClassName ComputerFactory * @Author 莫邪 * @Description TODO 抽象工厂接口:定义用于创建电脑系列的产品族(可以分为不同品牌下的电脑工厂) * @Date Created in 23:52 2019/4/24 * @Ver原创 2020-06-17 23:21:38 · 83 阅读 · 0 评论 -
设计模式---工厂方法模式
设计模式—工厂方法模式/** * @ClassName FMethod * @Author 莫邪 * @Description TODO * @Date Created in 22:37 2019/4/21 * @Version 1.0 *///让子类来实现创建服务对象的细节,定义好提供好的接口,暴露接口给外部调用即可,// 其实简单工厂方法就是其特殊的形式public abstract class FMethod { public void method(){原创 2020-06-14 15:24:50 · 108 阅读 · 0 评论 -
设计模式---单例模式
设计模式—单例模式说明:保证内存中只有类的一个实例/** * @ClassName Singleton * @Author 莫邪 * @Description TODO * @Date Created in 0:03 2019/4/17 * @Version 1.0 *///单例模式public class Singleton { //私有构造,防止外部调用 private Singleton(){} public void method(){ S原创 2020-06-10 23:37:47 · 117 阅读 · 0 评论 -
设计模式---适配器模式
设计模式—适配器模式/** * @ClassName AdapterInter * @Author 莫邪 * @Description TODO 客户端期望提供的接口 * @Date Created in 23:44 2019/4/15 * @Version 1.0 */public interface AdapterInter { void method();}/** * @ClassName ApdapterTarget * @Author 莫邪 * @Descri原创 2020-06-10 23:32:41 · 97 阅读 · 0 评论 -
设计模式---外观模式
设计模式—外观模式/** * @ClassName FacadeServer * @Author 莫邪 * @Description TODO 本质封装交互,组合调用 * @Date Created in 23:40 2019/4/14 * @Version 1.0 */// 外观模式,使客户端更容易使用组件的功能(解耦,隐藏实现的细节,包装已有的功能),// 更简单的说法是相当于一个“网关”,使用这个“外观接口”就可以使用整个组件的功能,// 也可以是组件的功能的组合,用于提供给客户端原创 2020-06-10 10:50:22 · 102 阅读 · 0 评论 -
设计模式---简单工厂
设计模式---简单工厂/** * @ClassName Api * @Author 莫邪 * @Description TODO 提供接口给外部使用(相当一个契约) * @Date Created in 22:02 2019/4/14 * @Version 1.0 */public interface Api { String method();}/** * @ClassName ApiImpl * @Author 莫邪 * @Description TODO * @原创 2020-06-09 09:50:31 · 176 阅读 · 0 评论