设计模式
文章平均质量分 74
java经典设计模式
TodaySaturday
这个作者很懒,什么都没留下…
展开
-
《Head First设计模式》专栏-策略模式(鸭子的故事)
针对接口编程”真正的意思是“针对超类型(super type)编程”。“针对超类型编程”这句话,可以更明确地说成“变量的声明类型应该是超类型,通常是一个抽象类或者是一个接口,如此,只要是具体实现此超类型的类所产生的对象,都可以指定给这个变量。换句话说,如果每次新的需求一来,都会使某方面的代码发生变化,那么你就可以确定,这部分的代码需要被抽出来,和其他稳定的代码有所区分。下面是这个原则的另一种思考方式:“把会变化的部分取出并封装起来,以便以后可以轻易地改动或扩充此部分,而不影响不需要变化的其他部分”。原创 2023-02-25 11:17:33 · 287 阅读 · 0 评论 -
VO、DTO、DO、PO 的概念、区别和用处
文章目录VO、DTO、DO、PO 的概念、区别和用处概念模型VO 与 DTO 的区别VO 与 DTO 的应用DTO 与 DO 的区别DTO 与 DO 的应用DO 与 PO 的区别DO 与 PO 的应用VO、DTO、DO、PO 的概念、区别和用处概念VO(View Object): 视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来。DTO(Data Transfer Object): 数据传输对象,这个概念来源于 J2EE 的设计模式,原来的目的是为了 EJB 的分布式应用原创 2021-05-25 17:37:45 · 748 阅读 · 0 评论 -
设计模式-单例模式
文章目录设计模式应用场合单例模式完整设计思想单例模式的类型饿汉式步骤懒汉式步骤设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。应用场合有些对象只需要一个就足够了如古代皇帝、老婆作用配置文件、工具类、线程池、缓存、日志对象等如果创造出多个实例,就会导致许多问题,比如占用过多资源,不一致的结果等为了保证某一个类不管怎么创建,都只在堆内存中开辟一块空间保证整个应用程序中某个实原创 2021-05-24 08:56:40 · 110 阅读 · 0 评论 -
设计模式-责任链模式
文章目录简介优点缺点销售团队的小例子代码实现责任链模式的应用简介在责任链模式中,作为请求接收者的多个对象通过对其后继的引用而连接起来形成一条链。请求在这条链上传递,直到链上某一个接收者处理这个请求。每个接收者都可以选择自行处理请求或是向后继传递请求。Handler为一个抽象接口【广义概念,并非单纯接口,抽象类、接口】优点发出请求的客户端并不知道链上的哪一个接收者会处理这个请求,从而实现了客户端和接收者这件的解耦。责任链模式转训OO中的开闭原则开闭原则:对扩展开放,对变更原创 2021-05-23 18:33:02 · 83 阅读 · 0 评论 -
设计模式-模板方法模式
模板方法模式的实现要素抽象基类提供基本的实现方法,具有共性的方法抽象方法,不知道具体实现的方法,由子类进行具体实现可选钩子函数,基类中提供默认或空实现Template方法(final),将所有方法汇总而成的模板方法好莱坞原则:子类可以替换掉父类可变逻辑,但不能改变整体逻辑具体子类实现基类中的抽象方法,提供具体的,个性化的实现可选的覆盖钩子函数,个性化的影响局部行为总结准备一个抽象类,将部分逻辑以具体方法的形式实现,然后声明一些抽象方法交由子类实现剩余逻辑,用钩原创 2021-05-23 17:20:19 · 94 阅读 · 0 评论 -
简洁 RESTful API 设计规范
文章目录URL设计动词+宾语动词的覆盖宾语必须是名词复数 URL避免多级 URL状态码状态码必须精确2XX状态码3xx 状态码4xx 状态码5xx 状态码服务器回应不要返回纯本文发生错误时,不要返回 200 状态码提供链接URL设计动词+宾语RESTful的核心思想就是,客户端发出的数据+操作指令都是“动词+宾语”的结构,比如GET /articles这个命令,GET是动词,/articles是宾语,动词通常就有5种HTTP请求方法,对应CRUD操作,根据 HTTP 规范,动词一律大写。# GET:原创 2020-07-18 21:25:28 · 168 阅读 · 0 评论 -
设计模式之【代理模式】详解
文章目录代理模式概念常见的代理模式静态代理代码实现普通方式采用继承方式实现静态代理采用聚合方式实现静态代理聚合比继承更适合代理模式采用继承方式实现功能叠加JDK动态代理代理模式-动态代理动态代理类图代码实现JDK动态代理总结CGLIB动态代理JDK动态代理和CGLIB动态代理代码实现代理模式概念为其他对象提供-种代理,以控制对这个对象的访问为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介作用,可去掉功能服务或增加额外的服务。常见的代理模式虚拟代理根据需要将资源消耗很大的原创 2020-07-21 21:44:47 · 200 阅读 · 0 评论