
设计模式
文章平均质量分 84
23种设计模式
BitHachi
“知道的越多,才知知道的越少”。——苏格拉底
展开
-
命令模式
1. 什么是命令模式?命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。命令模式可将“动作的请求者”从“动作的执行者”对象中解耦。命令模式三大对象:命令调用者+命令对象+命令接收者主要解决:在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧原创 2021-01-15 22:18:34 · 1153 阅读 · 2 评论 -
观察者模式
1. 什么是观察者模式?当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。出版者+订阅者=观察者模式2. 何时使用?一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这些方面封装在独原创 2021-01-14 23:06:53 · 549 阅读 · 0 评论 -
策略模式
1. 什么是策略模式?在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。2. 何时使用?1、如果在一个系统里面有许多类,它们之间的区别仅在于它们的行为,那么使用策略模式可以动态地让一个对象在许多行为中选择一种行为。2、一个系统需要动态地在几种算法中选择一种。3. 鸭子游戏案例原创 2021-01-14 23:05:58 · 544 阅读 · 0 评论 -
装饰器模式
1. 什么是装饰器模式?装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。装饰者和被装饰对象有相同的超类型。装饰者可以在所委托被装饰者的行为之前与 / 或之后,加上自己的行为,以达到特定的目的。******意图:**动态地给一个对象添加一些额外的职责。就增加功能来说,装饰器模式相比生原创 2021-01-14 23:05:06 · 512 阅读 · 2 评论 -
工厂与抽象工厂
本篇文章代码:https://gitee.com/bithachi_admin_admin/mycode/tree/master/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/factory一、工厂模式1. 什么是工厂模式?工厂模式(Factory Pattern)提供了一种创建对象的最佳方式,是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,并且是通过使用一个共同的接口来指向新创建的对象.原创 2021-01-14 23:04:20 · 1174 阅读 · 0 评论 -
单例模式
1. 什么是单例模式?单例模式(Singleton Pattern)属于创建型模式,它提供了一种创建对象的最佳方式。这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。**意图:**保证一个类仅有一个实例,并提供一个访问它的全局访问点。**主要解决:**一个全局使用的类频繁地创建与销毁。**何时使用:**当您想控制实例数目,节省系统资源的时候。**如何解决:**判断系统是否已经有这个单例,如原创 2021-01-14 23:03:28 · 596 阅读 · 0 评论 -
设计模式开篇
1. 设计模式简介设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦的一块块砖石一样。项目中合理地运原创 2021-01-14 23:02:15 · 788 阅读 · 0 评论