
设计模式
记录设计模式的学习
_楠_
编程还挺有趣的
展开
-
设计模式——MVC模式【Head First 设计模式】
复合模式——结合两个或以上的模式,组成一个解决方案,解决一再发生的一般性问题。MVC模式就是最经典的复合模式。图片形象的描述了MVC的逻辑内涵。Model(模型) - 模型代表一个存取数据的对象,它也可以带有逻辑,在数据变化时更新控制器。VIew(视图) - 视图代表模型包含的数据的可视化。Controller(控制器) - 控制器作用于模型和视图上,它控制数据流向模型对象,并在数据变化时更新视图,它使视图和模型分离开。举例展示代码展示1.模型public class Student {原创 2020-11-12 11:33:13 · 319 阅读 · 0 评论 -
设计模式——代理模式【Head First 设计模式】
代理模式——为另一个对象提供一个替身或占位符以控制对这个对象的访问。类图Subject,它为RealSubject和Proxy提供了接口,通过实现同一接口,Proxy在RealSubject出现的地方取代它。RealSubject是真正做事的对象,它是被proxy代理和控制访问的对象。Proxy持有RealSubject的引用。在某些例子中,Peoxy还会负责RealSubject对象的创建和销毁。客户和RealSubject的交互都必须通过Proxy。因为Proxy和RealSubject实现相原创 2020-11-12 11:04:04 · 215 阅读 · 0 评论 -
设计模式——状态模式【Head First 设计模式】
状态模式原创 2020-11-12 09:56:25 · 337 阅读 · 3 评论 -
设计模式——组合模式【Head First 设计模式】
组合模式原创 2020-11-11 20:59:51 · 835 阅读 · 2 评论 -
设计模式——迭代器模式【Head First 设计模式】
迭代器模式原创 2020-11-11 15:07:16 · 248 阅读 · 1 评论 -
设计模式——外观模式 【Head First 设计模式】
外观模式原创 2020-11-11 11:37:35 · 192 阅读 · 3 评论 -
设计模式——适配器模式【Head First 设计模式】
适配器模式原创 2020-11-11 11:12:00 · 243 阅读 · 1 评论 -
设计模式——命令模式 【Head First 设计模式】
命令模式原创 2020-11-11 10:13:01 · 182 阅读 · 1 评论 -
设计模式——单例模式【Head First 设计模式】
单例模式——确保一个类只有一个实例,并提供一个全局访问点。类图代码展示public class Singleton{ private static Singleton uniqueInstance; private static Singleton getInstance(){ if(uniqueInstance == null){ uniqueInstance = new Singleton(); } return uniqueInstance; }}总结单例模原创 2020-11-10 22:05:49 · 128 阅读 · 1 评论 -
设计模式——工厂模式【Head First 设计模式】
简单工厂创建对象的代码经常会改变,按照OO设计原则,我们应该将变化和不变分离开来。我们将创建对象的代码封装成一个新对象,让这个对象专职负责创建对象。我们称这个对象为工厂,工厂处理创建对象的细节。简单工厂其实不是一个设计模式,反而比较像是一种编程习惯。类图关键代码展示class SimplePizzaFactory { public Pizza createPizza(String type) { Pizza pizza = null; if (type.原创 2020-11-05 21:53:23 · 274 阅读 · 1 评论 -
设计模式——装饰者模式 【Head First 设计模式】
装饰者模式——动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。模式类图装饰者和被装饰者对象有相同的超类型,所以在任何需要原始对象的场合,可以用装饰过的对象替代他。我们来看一个具体的例子这是书上饮料的例子。所有具体的饮料类和调料装饰类的超类型都是饮料类。下面看看代码时怎么实现的。代码展示1.Beverage类是一个抽象类是所有类的超类public abstract class Beverage{ String description = "Unknown原创 2020-11-05 10:48:41 · 185 阅读 · 2 评论 -
设计模式——观察者模式 【Head First 设计模式】
观察者模式 ——定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,他的所有依赖者都会收到通知并自动更新。要点1.观察者模式定义了对象之间的一对多的关系。2.主题(可观察者)用一个共同的接口来更新观察者3.观察者和可观察者之间用松耦合方式结合,可观察者不知道观察者的细节,只知道观察者实现了观察者接口。4.使用此模式时,你可从被观察者出推或拉数据。5.有多个观察者时,不可以依赖特定的通知顺序。6.Java有多种观察者模式的实现,包括了通用的java.util.Observable。原创 2020-11-04 16:20:27 · 171 阅读 · 1 评论 -
设计模式——策略模式 【Head First 设计模式】
策略模式——定义算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。整体架构图代码展示 1.FlyBehavior接口public interface FlyBehavior { public void fly();}2.FlyWithWings类public class FlyWithWings implements FlyBehavior { @Override public void fly(){ System原创 2020-11-04 15:08:36 · 268 阅读 · 1 评论