
设计模式
执墨人
@公众号:石的三次方
展开
-
抽丝剥茧——调停者和门面设计模式
调停者和门面设计模式今天我们来聊两个设计模式:调停者设计模式和门面设计模式,为什么要将他们放在一起讲解,因为他们两个东东太像了,仅仅是由于作用的地方不同而产生的不同的叫法。我们用一个对于我们90后最难的一个问题来入手吧。假设我们厌倦了城市生活,想要找一个安静的地方安家,养猪,顺便写一个猪脸识别来分类管理这些猪(梦想中的生活)。而在做这些事情的前提,我们必须建造一个房子和一个猪圈。我们来看一下我们以前会怎么做。盖房子需要工人,砖头,水泥等等,我们需要一个一个联系所需要的人。但我这么聪明当然不会这么干原创 2020-11-07 13:55:44 · 376 阅读 · 5 评论 -
抽丝剥茧——单例设计模式
单例设计模式兄弟们好,今天是最后一个设计模式了,也是我们最熟悉的单例设计模式,可以说这个设计模式是我们最先接触到的设计模式了。想当年学习JavaSE的时候,老师聊到一个饿汉式和懒汉式,我还纠结了半天,这名字起的很完美。接下来我们一起复习一下单例设计模式吧。**定义:**该类的实例仅仅存在一个。单个实例对象——单例模式我们直接上代码1. 懒汉式public class Single { private static final SingleDesgin singleDesgin = new原创 2020-10-31 17:37:57 · 221 阅读 · 0 评论 -
抽丝剥茧——代理设计模式
代理设计模式代理设计模式再生活中应该很常见了,现在各种中间商的货物代售方便了我们的生活也增加了我们生活的成本。这种生活中的中间商行为就是一种代理模式。拿一个品牌来说明:在编程领域中一般存在两种代理模式静态代理。(仅仅可以代理一个类的行为,不能随类的变化而变化)动态代理。(可以代理所有类的行为)接下来我们先来看静态代理1. 静态代理仅仅用来代理一个类的行为。代码演示一下:继承实现代理(不推荐,耦合性大)class NaiKe { void run() {原创 2020-10-31 17:36:40 · 131 阅读 · 0 评论 -
抽丝剥茧——备忘录设计模式
备忘录设计模式兄弟们好,今天来和大家聊聊备忘录设计模式。它的主要思想是:保存一个对象在某一时刻的副本,并且该对象的副本在外部不可以被访问,同时该对象的副本可以被内部重新加载和修改看到这里,有没有想到我们的序列化。在学习IO流的时候我们可以通过Serializable实现对象的序列化,这个序列化的过程就是一个备忘录的过程,通过对当前对象序列化,包含当前的状态,当需要的时候再将这个状态加载进来。我们常常见过的游戏存档就是这个实现原理,将所有涉及到对象全部序列化,包含再本地文件中,然后读档的时候再加载进去原创 2020-10-31 00:15:02 · 152 阅读 · 0 评论 -
抽丝剥茧——策略设计模式
策略设计模式哈喽,兄弟们好。今天我们来聊一下策略设计模式。兄弟们有没有写过这样的代码呢?if(){ }else if(){ }else if(){ }else if(){ }else if(){ }else{ }这样的代码往往在业务中的体现是:根据用户不同的身份进行特定的处理,不过随着系统的不断扩大,会导致代码变得越来越臃肿。所以我们需要学习以下策略模式来解决这样的问题。我们来看一下策略模式做了什么?策略模式最主要的特点是:将要执行原创 2020-10-31 00:14:23 · 252 阅读 · 0 评论