Design
文章平均质量分 54
设计模式
一鸭一鸭唷
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
09.设计模式之享元Flyweight(重复利用对象)
一、图例例如字处理,在Word敲一个A,这个A可大可小,还可以加下划线,加各种东西,敲一个A出来的时候,是产生这个字母A的对象,但是每敲一个A出来都产生这个A的对象的话,小对象就会非常的多,享元模式就是把这些A,B,C…装进一个大池子里,等到使用的时候就拿出来使用,不需要new即可,所以享元就是共享元数据。二、案例class Bullet{ public UUID id = UUID.randomUUID(); boolean living = true; @Overrid原创 2021-07-23 15:18:10 · 110 阅读 · 0 评论 -
08.设计模式之组合模式Composite(树状结构专用模式)
一、代码实现// 节点abstract class Node{ abstract public void p();}// 叶子class LeftNode extends Node { // 文件 String content; public LeftNode(String content){ this.content = content; } @Override public void p() { Sy原创 2021-07-23 15:01:28 · 110 阅读 · 0 评论 -
07.设计模式之Observer观察者模式
一、定义定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式,它是对象行为型模式。Observer观察者模式——>事件处理模型二、情景分析情景问题:小孩子睡醒了哭,饿。1.版本1:面向过程/** * 披着面向对象外衣的面向过程 */public class Main1 { public static void main(String[] args) { b原创 2021-07-23 11:55:26 · 133 阅读 · 0 评论 -
06.设计模式之ChainOfResponsibility
一、责任链定义为了避免请求发送者与多个请求处理者耦合在一起,于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链;当有请求发生时,可将请求沿着这条链传递,直到有对象处理它为止。二、逐步引入1.情景引入在论坛中发表文章后台要经过信息处理才可以发表或者进入数据库所以在这里面会有过滤链,去看看文章有没有敏感词或黑客代码这些东西,然后进行过滤,接下来我们对其模拟情景2.情景编写代码2.1 初步代码public class Main { public static vo原创 2021-07-22 23:40:47 · 238 阅读 · 1 评论 -
05.设计模式之Decorator装饰器
一、前言例如坦克大战:坦克想加一个外壳显示想加一个血条想加一条尾巴子弹想加一条尾巴子弹想加一个外壳…如果用继承的话,则会BloodTankTailBankRectBankBloodTailTankBloodRectTankTailBullet缺点:非常不灵活,装饰和被装饰之间耦合度太高二、解决方案不使用继承,用 聚合 的方式来代替继承...原创 2021-07-22 21:05:04 · 88 阅读 · 0 评论 -
04.设计模式之Faced门面模式-Mediator调停者模式
图解1.不是门面模式2.门面模式与调停者模式原创 2021-07-22 17:44:53 · 251 阅读 · 0 评论 -
03.设计模式之工厂模式
一、定义任何可以产生对象的方法或类,都可以称之为工厂单例也是一种工厂为什么有了new之后,还需要有工厂?①灵活控制生产过程②权限、修饰、日志…二、讲述Car类public class Car { public void go(){ System.out.println("Car can go bibibibi..."); }}Plane类public class Plane { public void go(){原创 2021-07-22 12:30:28 · 143 阅读 · 0 评论 -
02.设计模式之策略模式
一、策略模式介绍1.什么是策略模式策略这个词应该怎么理解,打个比方说,我们出门的时候会选择不同的出行方式,比如骑自行车、坐公交、坐火车、坐飞机、坐火箭等等,这些出行方式,每一种都是一个策略。再比如我们去逛商场,商场现在正在搞活动,有打折的、有满减的、有返利的等等,其实不管商场如何进行促销,说到底都是一些算法,这些算法本身只是一种策略,并且这些算法是随时都可能互相替换的,比如针对同一件商品,今天打八折、明天满100减30,这些策略间是可以互换的。总结:策略模式(Strategy):定义了一组算法,将原创 2021-07-20 21:22:00 · 126 阅读 · 0 评论 -
01.设计模式之单例模式
一、介绍单例模式(Singleton Pattern)是 Java 中最简单的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象二、饿汉式类加载到内存后,就实例化一个单例,JVM保证线程安全简单使用,推荐使用唯一缺点:不管用到与否,类加载时就完成实例化(话说你不用的,你加载它干嘛)案例1/** * -原创 2021-07-20 11:06:00 · 105 阅读 · 2 评论
分享