01 2021 档案
摘要://20210129 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现命令模式 中介者模式核心思想 设置一个中介者,来通信所有相关的类 举例:MVC模型,Controller(C)是Model(M)和View(V)的中介,负责通信二者,解读消息 程序
阅读全文
摘要://20210129 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现命令模式 ###命令模式核心思想: 将操作封装成一个对象,请求者发送请求给包装有命令的接受者,然后接受者执行相应操作,用户不需要知道操作如何执行的,只需要发送请求即可 程序源代码
阅读全文
摘要://20210127 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现模板模式 模板模式核心思想: 如果完成某件事的步骤就那么几个,那么我们就可以定义一个模板专门用于完成某件事情,就好像实现一个框架,子类往里边填充步骤的具体内容就行 举例:做成一道菜
阅读全文
摘要://20210124 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现观察者模式 观察者模式核心思想: 有很多观察者,只有一个被观察者,当被观察者做出什么举动时,所有的观察者都会被通知到,而和被观察者无关的则不会被通知到(被观察者有一个列表,列表中包
阅读全文
摘要://20210124 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现策略模式 策略模式核心思想 设置一个算法父类,然后实现多种不同方法子类,用户只用选择背景,以及背景中的算法,就可以实现不同功能 程序源代码: /** * 活动父类 */ publi
阅读全文
摘要://20210122 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现状态模式 状态模式核心思想: 符合迪米特原则,将大量分支语句变成类的形式 程序源代码: 此处实现一个电梯的状态转换 //电梯状态抽象类 public abstract class
阅读全文
摘要://20210122 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现备忘录模式 备忘录模式核心思想 类似游戏存档,将对象前一个时间点的状态保存下来,以便出现情况进行回滚和撤销操作 缺点:浪费资源 优点:保证系统安全,出现突发情况可以减少数据丢失 程
阅读全文
摘要://20210121 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现组合模式 组合模式核心思想 类似文件夹的概念,构件树形结构,树形有叶子结点和文件夹结点,文件夹结点可以包含叶子结点和文件夹结点 分为两种模式 - 透明型:所有节点构造全部相同,但是
阅读全文
摘要://20210120 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现桥接模式 桥接模式核心思想 实现多对多模式,比如很多品牌的汽车要跑很多种类的路,汽车的品牌和路的种类是多对多的关系,如果一一映射实现的话,会非常浪费资源,不如创建一个虚拟的桥的概念
阅读全文
摘要://20210120 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现适配者模式 核心思想 如果在一个类中频繁创建内容相同的对象,则会使内存占用很高,如果在产品中使用此方法,则会占用大量内存,如果将内容相同的对象共享,则能够节省很多资源,享元模式应运
阅读全文
摘要://20210120 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现适代理模式 核心思想 创建一个代理类来面对客户,而非委托方直接面对客户,代理类对客户类为一对一,代理类可以在委托类基础上附加额外功能,但是主要业务工作哦还是交给委托方,只不过科普不
阅读全文
摘要://20210119 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现适配者模式 核心思想 构造一个适配器类,该类有原本的功能,也能糅合其他类的功能,最终通过一个类实现多个类的功能(这些类之间原本之间并不能通信,而适配器为多个类提供接口,然后统一输出
阅读全文
摘要://20210118 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现装饰者模式 核心思想: 构建一个带有原始属性的对象,然后通过附加类来一层一层的装饰原有对象 源代码如下: //初始接口 public interface Man { String
阅读全文
摘要://20210118 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现外观模式 外观模式: 给客户提供一个平台,客户不需要知道平台内的东西具体运行逻辑,只需要知道它们存在以及知道如何使用他们即可 实现源代码如下: //平台代码 public clas
阅读全文
摘要://20210117 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现创建者模式 创建者模式 核心思想:一步一步构建出一个完整的对象,就拿电脑举例,有的电脑有水冷,有的电脑没有水冷,那么我只想有一个电脑创建类,那水冷选项就必须是可选择的而非强制的,这
阅读全文
摘要://20210117 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现单例模式 单例模式概念: 私有化构造器,让一个类只能拥有一个实例化对象,并创建静态方法用以获取该对象 饿汉式 无论是否调用,都先自己创建对象 源代码如下: /** * hunger
阅读全文
摘要://20210117 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现原型模式 原型模式 核心思想:将原有对象完整拷贝出来,然后放进另一个新创的对象里,以达到复制的目的(因为java中如果直接赋值,只是引用,内存中数据改变之后引用的所有对象都会改变,
阅读全文
摘要://20210117 写在前面:今天写原型模式代码的时候涉及到了浅克隆和深克隆的问题,就想起了String类型貌似和这个有些关系,故去做了个实验并在此记录下来 众所周知,java中“==”运算符在比对对象类型时比对的是对象的地址,而equals()方法比对的是内容 所以按道理来说我在方法里创建两个相
阅读全文
摘要://20210117 写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文先实现三个工厂模式————简单工厂、工厂模式、抽象工厂模式 一、简单工厂模式 简单的仅有一个的大工厂,工厂里根据分支条件来判断要生产的产品 源码如下 //大工厂接口 public in
阅读全文