![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 66
野珠
Time Dream
展开
-
设计模式之职责链模式
何为职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。1) 在职责链模式里,很多对象 由每一个对象对其下家的引用而连接起来形成一条链 。2) 请求在这条链上传递 ,直到链上的某一个对象处理此请求为止。3) 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任 。职责链模式的优点:1.降低了对象之间的耦合...原创 2021-12-07 20:14:40 · 386 阅读 · 1 评论 -
设计模式之观察者模式
为了让大家更好地理解什么是观察者模式,我会通过案例的模式来分析。天气预报项目需求气象站可以将每天测量到的温度、湿度、气压等一公告的形式发布出去 需要设计开放型API,便于其他第三方也能接入气象站获取数据 提供温度、气压、湿度的接口 测量数据更新时,要能实时的通知给第三方方法一:常规思路 * @Author:Hezhen * @Date:2021/12/7 * @Describe:显示当前天气情况,(可以理解成气象站自己的网站) */public class Curr原创 2021-12-07 15:56:04 · 131 阅读 · 5 评论 -
设计模式之装饰器模式
概述装饰器(Decorator)模式的定义:指在不改变现有对象结构的情况下,动态地给该对象增加一些职责(即增加其额外功能)的模式,它属于对象结构型模式。装饰器模式的主要优点有:装饰器是继承的有力补充,比继承灵活,在不改变原有对象的情况下,动态的给一个对象扩展功能,即插即用 通过使用不用装饰类及这些装饰类的排列组合,可以实现不同效果 装饰器模式完全遵守开闭原则其主要缺点是:装饰器模式会增加许多子类,过度使用会增加程序得复杂性。通常情况下,扩展一个类的功能会使用继承方式来实现。但继承具有原创 2021-12-06 17:34:46 · 399 阅读 · 1 评论 -
设计模式之代理模式
前言在有些情况下,一个客户不能或者不想直接访问另一个对象,这时需要找一个中介帮忙完成某项任务,这个中介就是代理对象。例如,购买火车票不一定要去火车站买,可以通过 12306 网站或者去火车票代售点买。又如找女朋友、找保姆、找工作等都可以通过找中介完成。在软件设计中,使用代理模式的例子也很多,例如,要访问的远程对象比较大(如视频或大图像等),其下载要花很多时间。还有因为安全原因需要屏蔽客户端直接访问真实对象,如某单位的内部数据库等。代理模式的定义与特点代理模式的定义:由于某些原因需要给某对..原创 2021-11-30 17:16:09 · 64 阅读 · 0 评论 -
设计模式之工厂模式
一、简单工厂模式public interface Car { void name();}//====================================public class AE86 implements Car{ @Override public void name() { System.out.println("AE86!!"); }}//=================================...原创 2021-11-30 16:14:09 · 60 阅读 · 0 评论 -
简单的单例模式
什么是单例模式,顾名思义:就是保证类在内存中只有一个对象。应用实例:1、一个政党党只能有一个领导人。 2、Windows 是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。 3、一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件。应用场景:1、要求生产唯一序列号。2、WEB 中的计数器,不用每次刷新都在数据库里加一次,用单...原创 2021-11-27 10:25:32 · 432 阅读 · 0 评论 -
三层架构详解
什么是三层架构UI(表现层):主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。BLL:(业务逻辑层):UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。DAL:(数据访问层):与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作...原创 2021-11-24 09:44:51 · 861 阅读 · 0 评论