欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java 设计模式,

来源: javaer 分享于  点击 42288 次 点评:228

java 设计模式,


简单工工厂模式

什么是简单工厂模式?

答:简单工厂模式是由一个具体的类去创建其他类的实例,父类是相同的,父类是具体的。 又称静态工厂模式

例子:

产品1 和产品2 都有一个有用的,用静态工厂方式模式设计程序:、

Use类

package net.mylearner.a3_12_pm;

interface Use {
	abstract public void use();
}

Product1类:

package net.mylearner.a3_12_pm;

public class Product1 implements Use {

	@Override
	public void use() {
		// TODO Auto-generated method stub
		System.out.println("product1 use");
	}
	
}

Product2类:

package net.mylearner.a3_12_pm;

public class Product2 implements Use {
	@Override
	public void use() {
		System.out.println("product2 use");
	}
}

ProductFactory类:

package net.mylearner.a3_12_pm;

import net.mylearner.a3_10_pm.Person;

public class ProductFactory {

	public static  Use getInstance(String product)  {
		Use use=null;
		if ("Product1".equals(product))
			 use=new Product1();
		if ("Product2".equals(product))
			use=new Product2();
		return  use;
	}
}

测试类:

package net.mylearner.a3_12_pm;


public class Test {


	public static void main(String[] args) throws Exception {
		ProductFactory productFactory = (ProductFactory) new ProductFactory();
		Use product = productFactory.getInstance("Product1");
		product.use();
		Use product2 = productFactory.getInstance("Product2");
		product2.use();
	}
}

适配器设计模式

什么是适配器设计模式?

答:一个接口中定义了多个方法,但是根据应用的场景,只需要一个方法,其他的不需要也不想包含在类中,

定义一个类实现这个接口,把每个方法实现一个空方法,以后要用这个接口是,只需要继承这个类按照应用场景实现摸个方法,这种解决方案叫做 适配器设计模式。

例子:

一个接口:

package net.mylearner.a3_12_pm1;

interface  Action {
	abstract public void walk();
	abstract public void run1();
	abstract public void sleep();
	abstract public void move();
	
}

一个类实现这个(些)接口(空实现):

package net.mylearner.a3_12_pm1;

public class ActionAdaptor implements Action {

	@Override
	public void walk() {

	}

	@Override
	public void run1() {

	}

	@Override
	public void sleep() {

	}

	@Override
	public void move() {

	}

}

一个实现类:

package net.mylearner.a3_12_pm1;

public class Person extends ActionAdaptor {
	Person() {
	}

	@Override
	public void run1() {
		// TODO Auto-generated method stub
		System.out.println("Person");
	}

}

一个测试类:

package net.mylearner.a3_12_pm1;

public class Test {
	public static void main(String[] args) {
		Person person = new Person();
		person.run1();
	}
}

常量管理器设计模式

什么是常量管理器设计模式?

答:

接口中无方法,都是常量。


观察者设计模式

什么事观察者设计模式?

答:1、观察者模式定义了对象之间的一对多关系。多个观察者监听同一个被观察者,当该被观察者的状态发生改变时,会通知所有的观察者。

        2、观察者模式中包含四个角色。主题,它指被观察的对象。具体主题是主题子类,通常它包含有经常发生改变的数据,当它的状态发生改变时,向它的各个观察者发出通知;观察者,将对观察主题的改变做出反应;具体观察者中维护一个指向具体目标对象的引用,它存储具体观察者的有关状态,这些状态需要和具体目标的状态保持一致。
        3、主题用一个共同的接口来更新观察者。
        4、观察者与被观察者之间用松耦合方式结合。
        5、有多个观察者时,不可以依赖特定的通知次序。
        6、使用观察者模式,可以从被观察者处推或者拉数据。义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。



相关文章

    暂无相关文章
相关栏目:

用户点评