需要记下
简单工厂模式 生产一个系列产品(英语书,数学书)或多个无关系列产品(水果与书)
//工厂模式
public interface Book {
public void getType();
}
//数学书
class MathBook implements Book{
public MathBook(String id){}
public void getType() {
System.out.println("Math");
}
}
//英语书
class EngBook implements Book{
public void getType() {
System.out.println("Eng");
}
}
public class BookFactory {
public static Book getBook(int type){
if(type==1){return new MathBook("12");}
else {return new EngBook();}
}
public static void main(String []args){
//用方法取代new+构造,当构造发生变化时,只需修改工厂
Book b=BookFactory.getBook(1);
b.getType();
}
}
抽象工厂模式 生产多个相关系列产品
public interface Book {
public void getType();
}
class MathBook implements Book{
public void getType() {
System.out.println("Math");
}
}
class EngBook implements Book{
public void getType() {
System.out.println("Eng");
}
}
*******************************
public interface Provider {
public void test();
}
class MathProvider implements Provider{
public void test(){
System.out.println("Math Provider");
}
}
class EngProvider implements Provider{
public void test(){
System.out.println("Eng Provider");
}
}
*******************************
public interface AbstractFactory {
public Book getBook();
public Provider getProvider();
}
class MathFactory implements AbstractFactory{
public Book getBook(){
return new MathBook();
}
public Provider getProvider(){
return new MathProvider();
}
}
class EngFactory implements AbstractFactory{
public Book getBook(){
return new EngBook();
}
public Provider getProvider(){
return new EngProvider();
}
}
*************************************
public class TestFactory {
public static void main(String[] args) {
AbstractFactory af=new MathFactory();
Book b=af.getBook();
Provider p=af.getProvider();
b.getType();
p.test();
}
}
////////////////////////////////////////////
public interface Color {
void process();
}
class Red implements Color{
public void process(){
}
}
class Yellow implements Color{
public void process(){
}
}
class Green implements Color{
public void process(){
}
}
*******************
//不采用状态模式
public class GoNoState {
private Color c;
public void go(){
//if(c==red){}
//else if(c==yellow){}
//else {}
}
}
********************
//对象按照状态采取不同的行为,可以采取状态模式
public class Go {
private Color c;
public Go(Color c){this.c=c;}
public void go(){
c.process();
}
}
分享到:
相关推荐
Java设计模式共有23种,分别为:抽象工厂模式、建造模式、工厂方法模式、原型模式、单例模式、外观模式、适配器模式、桥接模式、组合模式、装饰模式、享元模式、代理模式、命令模式、解释器模式、访问者模式、迭代子...
设计模式主要分为三大类: 1.创建型模式:工厂模式、抽象工厂模式、单例模式、建造者模式、原型模式。 2.结构型模式:适配器模式、桥接模式、装饰模式、组合模式、外观模式、享元模式、代理模式。 4.行为型模式:...
总体来说设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元...
Java代码积累:并发 设计模式 数据结构 使用容器 实用 类 基础知识 并发性 演示线程的生命周期 生产者-消费者 设计模式参考《大话设计模式》 工厂简单模式 创造型模式 工厂方法模式 抽象工厂模式 原型模式 建造者...
本系统基于六种设计模式,运用到的设计模式有备忘录模式,简单工厂模式,迭代器模式,状态模式,模版方法模式,单例模式。 具体实现过程、UML类图以及实现效果详见如下项目说明地址: ... 该系统为绘图系统,该系统通过...
java23种设计模式,每一种模式都有详细的讲解,很全面,如果你想深入了解一下java23种设计模式,这会非常适合你的哦!上传乃为百度云连接,失效请留言。 内容: 001策略模式! N. B8 ~' D! f9 j+ g0 I 002观察者模式 ...
目录: 前 言 第一部分 大旗不挥,谁敢冲锋——热身篇 第1章 单一职责原则 1.1 我是“牛”类,我可以担任多职吗 1.2 绝杀技,打破你的传统思维 1.3 我单纯,所以我快乐 1.4 最佳实践 ...附录:23个设计模式
java设计模式示例 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元模式。 行为型...
用Java实现23种设计模式 1. 创建型模式 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(Singleton Pattern) 建造者模式(Builder Pattern) 原型模式(Prototype Pattern)...
这些设计模式关注类和对象的组合。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 适配器模式(Adapter Pattern) 桥接模式(Bridge Pattern) 过滤器模式(Filter、Criteria Pattern) 组合模式...
设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 ...
以JAVA为例,汇总了十几种常用的设计模式,包括了:单例模式、工厂模式、建造者模式、适配器模式、装饰器模式、外观模式、命令模式、观察者模式、状态模式、策略模式、模板方法模式等。仅供学习使用。 相关文章请看...
Java设计模式,目录:前言,UML建模技术,深入浅出UML类图,从招式与内功谈起——设计模式概述,面向对象设计原则,工厂三兄弟之简单工厂模式,工厂三兄弟之工厂方法模式,工厂三兄弟之抽象工厂模式,确保对象的唯一...
内容包括统一建模语言基础知识、面向对象设计原则、设计模式概述、简单工厂模式、工厂方法模式、抽象工厂模式、建造者模式、原型模式、单例模式、适配器模式、桥接模式、组合模式、装饰模式、外观模式、享元模式、...
设计模式分为三大类: 创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。 结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。 ...
java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享元...
java的设计模式大体上分为三大类: 创建型模式(5种):工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式。 结构型模式(7种):适配器模式,装饰器模式,代理模式,外观模式,桥接模式,组合模式,享...
《java设计模式(第2版)》通过一个完整的java项目对经典著作design patterns一书介绍的23种设计模式进行了深入分析与讲解,实践性强,却又不失对模式本质的探讨。本书创造性地将这些模式分为5大类别,以充分展现各个...
使用java实现各种设计模式应用实例,可做复习考试题。 状态模式 观察者模式 命令模式 适配器模式 三种工厂等等