我写的设计模式的文章总结(3)

2019-03-22 17:12

帮你记住,用的时候去问一下。 就象董事长和秘书一样

public class Manage {

public String next_week; //下个星期的安排

public String n_next_week; ///下个星期的安排 public Manage() { }

public Assistant getMemento() {

return new Assistant(this); }

public void setMemento(Assistant assistant) {

next_week=assistant.next_week;

n_next_week=assistant.n_next_week; } }

public class Assistant implements java.io.Serializable { public String next_week; public String n_next_week; public Assistant(Manage manage) {

next_week=manage.next_week;

n_next_week=manage.n_next_week; } }

public class Test {

11

设计模式

public Test() { }

public static void main(String[] args) { Manage manage=new Manage(); manage.next_week=\见客户\manage.n_next_week=\见大客户\System.out.println(manage.next_week); System.out.println(manage.n_next_week); Assistant assistant=manage.getMemento(); manage.next_week=\见1111客户\

manage.n_next_week=\见111111大客户\System.out.println(manage.next_week); System.out.println(manage.n_next_week); manage.setMemento(assistant);

System.out.println(manage.next_week); System.out.println(manage.n_next_week); } }

5,state模式理解

作者:罗鹏 email: luopeng@ec.com.cn 主要是用于状态的变化,就象红绿灯一样 如何使用state模式 1,要一个状态管理类 2,状态接口

3,各种子状态实现状态接口

State模式的效果

1)它将与特定状态的行为局部化,并且将不同的行为分割开来 2)它使得状态转化显式化 3)State对象可以被共享

state模式中谁定义状态转化??

state模式中并没有指定哪一个参与者定义状态转换准则。换句话说,它们可以在Context中定义,也可以在state子类自身指定她们的后继状态以及何时进行转换,后者通常更灵活。

public interface State{

public abstract void handleGreen(State state); public abstract void handleRed(State state); public abstract State getColor(); }

12

设计模式

public class Manage { private State state=null; public Manage(State state) {

this.state=state; }

public void changeToGreen() {

this.state=new GreenLight(); state.handleGreen(state); }

public void changeToRed() {

this.state=new RedLight(); state.handleRed(state); } }

public class GreenLight implements State { public State state=null; public State getColor() {

return state; }

public void handleGreen(State state) {

System.out.println(\绿灯,前进\ }

public void handleRed(State state) {

System.out.println(\,\ } }

public class RedLight implements State { public State state=null; public State getColor() {

return state; }

public void handleGreen(State s) {

System.out.println(\

13

设计模式

}

public void handleRed(State s) {

System.out.println(\红灯,Stop!!\ } }

public class Test {

public Test() { }

public static void main(String[] args) { GreenLight state=new GreenLight(); Manage manage=new Manage(state); manage.changeToRed(); manage.changeToGreen(); manage.changeToGreen(); manage.changeToGreen(); manage.changeToRed(); } }

GOF片段赏析

1,Decrator 模式不同于Adapter模式,因为装饰仅改变对象的职责而不改变它的接口,而适配器将给对象一个全新的接口。

2,Composite模式:可以将装饰视为一个退化的、仅有一个组件的组合。然而,装饰仅给对象添加一些额外的职责---它的目的不是在于对象聚集

6,Proxy模式

public interface Subject{ publib void request(); }

public RealSubject implements Subject {

public void request(){

System.out.println(\正在处理请求!\} }

14

设计模式

public class Proxy implements Subject{ private RealSubject realSubject; public Proxy(){ }

public void request(){

if(realSubject==null){ //这里有个单例 realSubject=new RealSubject(); }

realSubject.request();

System.out.println(\哈哈,是我在处理!\ } }

public class Client {

public static void main(String args[]){ Subject subject=new Proxy();

subject.request(); //客户端没有看出来,实际上客户端发出的请求,是Proxy在处理

//正常的没有采用代理的话,代码是这个样子的 /**

Subject subject=new RealSubject(); subject.request(); **/ } }

/**思考题**/ Proxy模式

public interface Subject{ publib void request(); }

public RealSubject implements Subject {

public void request(){

System.out.println(\正在处理请求!\} }

public class Proxy implements Subject{

15

设计模式

private RealSubject realSubject; public Proxy(){ }

public void request(){

if(realSubject==null){ //这里有个单例 realSubject=new RealSubject(); }

realSubject.request();

System.out.println(\哈哈,是我在处理!\ } }

public class Client {

public static void main(String args[]){ Subject subject=new Proxy();

subject.request(); //客户端没有看出来,实际上客户端发出的请求,是Proxy在处理

//正常的没有采用代理的话,代码是这个样子的 /**

Subject subject=new RealSubject(); subject.request(); **/ } }

7,Protype模式理解

比如说有个叫张三的一个人可以复制,呵呵,他还有一本书

import java.io.*;

import java.io.Serializable;

public class Zhangsan implements Cloneable,Serializable {


我写的设计模式的文章总结(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:股权购买协议 中英文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: