观察者模式:类似于报纸和杂志的订阅出版者+订阅者=观察者模式1.报纸的
UML类图之间的关系当一个类是“一种”另一个类时: is-a当两个类之间存在关
策略模式定义:策略模式定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的
外观模式定义外观模式提供了一个统一的接口,用来访问子系统中的一群接口。外观定义了一个高层接口,让子系统更容易使用。UML类图
本篇要说明的是Java内置的观察者模式;涉及import java.util.Observable;import java.util.Observer;
上一次的简单工厂,以一个披萨店为例;这里同样如此;这里,披萨店要开分店纽约披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨芝加哥披萨店:奶酪、蛤蜊、意式辣肠、蔬菜等类型的披萨两种店都供应这些披萨,但同种名称的披萨的细节却不同,每家店都供应其独特的披萨。UML类图Pizza.java 抽象类,披萨超类package com.jing.factory;import
装饰者模式,涉及的重要设计原则:类应该对扩展开放,对修改关闭。装饰者模式定义:装饰者模式动态地将责任附加到对象上。若要扩展功能,装饰者提供了比继承更有弹性的替代方案。UML类图:装饰者模式事例:咖啡店咖啡种类:1)深焙咖啡(DarkRoast)2)家庭混合咖啡(HouseBlend)3)浓咖啡(Espresso)4)低咖啡因咖啡(Decaf)5)
工厂模式:1)简单工厂2)工厂模式简单工厂模式:通常使用静态方法,因为这样它可以不需要创建对象;缺点:不能通过继承来改变创建方法的行为。简单工厂其实不是一个设计模式,反而更像一种编程习惯。事例:一个披萨店,会生产各种类型的披萨,如蔬菜类、蛤蜊类、奶酪类、意大利辣肠类等。步骤:1)选择一种类型的披萨,配置它的材料2)准备、烧烤、切片、包装 UML类
单例模式定义:单例模式确保一个类只有一个实例,并提供一个全局访问点。经典的单例模式模型// NOTE: This is not thread safe!public class Singleton { private static Singleton uniqueInstance; // other useful instance variables here
抽象工厂模式定义抽象工厂模式提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。样例上次的工厂方法模式使用的是披萨店的例子,为的是解决在各个不同的地区开的分店会做不同类型的披萨;现在防止分店使用低价原料增加利润,损坏品牌,要确保每家店使用高质量的原料,所以打算使用生产原料的工厂;但问题是每家分站使用的配料有可能不一样,如纽约的蛤蜊是新鲜的, 芝加
命令模式定义命令模式将“请求”封装成对象,以便使用不同的请求、队列或日志来参数化其他对象。命令模式也支持可撤销的操作。简易UML类图1)Command 为所有命令声明了一个对象。调用命令对象的excute()方法就可以让接收者进行相关的动作。它也具备一个undo()方法,支持撤销。2)客户端负责创建某一个具体的命令对象 ConcreteCommand,并设置其接收者
适配器模式定义适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。适配器有两种类型:对象适配器、类适配器对象适配器UML类图类适配器UML类图个人认为两者的优劣势对象适配器:使用组合,不仅可以适配某个类,也可以适配该类的任何子类,一般而言,是单向的适配;类适配器(注:Java中
命令模式Command将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销操作。UML代码abstract class Command{ protected Receiver receiver; protected Command(Receiver receiver) { this.rece...
需求:做一个商场收银软件,营业员根据客户所购买商品的单价和数量,向客户收费。 额外需求1:打折(8折,7折,5折不等) 额外需求2:返现(满300返100,满200返50等)使用简单工厂实现UML类图代码namespace PatternTest.Strategy{ abstract class CashSuper { public...
MVC(Model - View - Controller)由模型、 视图、 控制器 组成。学习MVC最好的方法就是看它由哪些模式共同组成。一、模型(Model)利用”观察者模式”让视图和控制器可以随最新的状态而改变。模型实现了观察者模式,当状态改变时,相关对象将持续更新。使用观察者模式,可以让模型完全独立于视图和控制器。同一个模型可以使用不同的视图,甚至可以同时使用多个视图。二、视图...
建造者模式(Builder)将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示它主要用于创建一
一、设计原则单一职责原则一个类,只有一个引起它变化的原因。应该只有一个职责。每一个职责都是变化的一个轴线,如果)开闭原则就是说对扩展开...
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号