
设计模式
素年恋锦事
嵌入式,Java
展开
-
设计模式—装饰器模式
设计模式—装饰器模式什么是装饰器模式装饰器模式的实现什么是装饰器模式官方定义:装饰器模式,是动态地给一个对象添加一些额外的职责的模式,就增加功能来说,装饰器模式比生成子类更为灵活。装饰器模式主要用于对某种基类需要经常进行修改属性的场合,比如 功放 就是对 有效信号 的装饰(放大有效信号), 滤波器 就是对 噪声 的装饰(削减噪声)。Java中的 IO流 就广泛使用了 装饰器模式 ,比如 BufferedInputStream 等,都是对底层的节点流进行装饰,来提高性能的例子。装饰器模式的实现装原创 2020-10-13 11:04:23 · 312 阅读 · 0 评论 -
设计模式—外观模式
设计模式—外观模式什么是外观模式外观模式的实现什么是外观模式外观模式属于设计模式中的结构型模式,主要适用于存在众多接口并需要按照不同顺序调用的场合,它可以为子系统的众多接口提供统一的高层调用接口,使子系统更容易使用。简单来说,外观模式就是对接口进行组合并封装成高一级的接口的模式。举一个例子,快餐店里有许多类型的食物(类似于子系统中的接口),顾客想吃不同的食物时就需要自己去挑选(相当于其他业务组去调用不同的接口),如果快餐店自己把大多数顾客想吃的食物搭配组合起来推出套餐,那么顾客点餐就方便快捷得多,会获原创 2020-10-07 21:35:06 · 161 阅读 · 0 评论 -
设计模式—观察者模式
设计模式—观察者模式什么是观察者模式观察者模式的实现什么是观察者模式观察者模式,是一种基于事件和响应的设计模式,常用于传统的窗体应用程序(触发鼠标点击事件等)以及游戏开发领域(触发陷阱事件等)。比如玩仙剑4的时候,点击“攻”按钮会发动普通攻击、点击“术”按钮会消耗神力发动法术、点击“技”按钮会消耗气力发动技能;在野外乱逛的时候,可能会遇到野怪进入战斗、也可能遇到宝箱获得宝物,还可能遇到存档点触发存档事件。这些都是不同的触发事件,也要求程序对其有不同的响应,传统的想法有:轮询:在程序中每隔一定事件查原创 2020-10-07 19:49:01 · 265 阅读 · 1 评论 -
设计模式—单例模式
设计模式—单例模式什么是单例模式单例模式的实现什么是单例模式一个类对外不提供构造方法,只支持产生一个实例对象,即是单例模式。比如电脑中的回收站,就是典型的单例模式。电脑中所有的文件被删除之后,都会进入回收站里面,而不会创建多个回收站对象存放这些删除的文件。单例模式的使用场景:用于严格要求只能有一个对象实例去进行所有操作的场合,比如常见的工具类,数据库的连接类等就应该被定义为单例类。单例模式的实现单例模式首先是不能向外提供显式可见的构造方法,因此需要将构造方法私有化;此外还需要一个私有属性的类实原创 2020-09-22 10:08:43 · 105 阅读 · 0 评论 -
设计模式概述
设计模式概述什么是设计模式什么是设计模式设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运用设计模式可以完美地解决很多问题,每种模式都描述了一个在原创 2020-09-21 09:26:54 · 87 阅读 · 0 评论 -
设计模式—工厂模式
设计模式—工厂模式概述简单工厂模式工厂方法模式概述工厂模式在创建型模式当中比较常用,主要用于创建新的对象,分为三种功能相近的设计模式:简单工厂模式、工厂方法模式和抽象工厂模式。有人可能要问了,我直接写构造方法,自己 new 一个对象不行吗?ClassA a = new ClassA();ClassB b = new ClassB();通常情况下,使用 new 创建新对象是没有问题的,但如果创建对象需要进行一系列复杂的初始化操作,如果将初始化操作写到构造函数中,难以避免地会降低可读性与可移植性。原创 2020-09-17 13:02:40 · 93 阅读 · 0 评论