设计模式(六)抽象工程模式
来源:互联网 发布:网络思想政治教育报告 编辑:程序博客网 时间:2024/05/17 12:47
概念:抽象工厂模式是工厂方法模式的升级版本,在有多个业务品种、业务分类时,通过抽象工厂模式产生需要的对象是一种非常好的解决方式。
适用于多个细分的部分组成的一个产品的制造工厂。
例子:一个世界级的足球俱乐部,需要伟大的球衣,雄厚的资金,优质的球场草皮
抽象一个足球队的工厂接口,FootBallTeamFactory,里面3个方法接口Player,Money,Place
public interface FootBallTeamFactory {Player createPlayer();Money createMoney();Place createPlace();}
public interface Player {public void play();}
public interface Money {public void pay();}
public interface Place {public void haveLand();}
伟大俱乐部工厂GreatFootBallTeam实现FootBallTeamFactory,并且实现其方法,返回其方法的实现类GoodPlayer,MoreMoney,GoodPlayer
public class GreatFootBallTeam implements FootBallTeamFactory{@Overridepublic GoodPlayer createPlayer() {return new GoodPlayer();}@Overridepublic MoreMoney createMoney() {return new MoreMoney();}@Overridepublic BroadPlace createPlace() {return new BroadPlace();}}
public class GoodPlayer implements Player {@Overridepublic void play() {System.out.println("世界级表现");}}
public class MoreMoney implements Money {@Overridepublic void pay() {System.out.println("资金雄厚");}}
public class BroadPlace implements Place{@Overridepublic void haveLand() {System.out.println("良好的草皮");}}
测试方法如下:
public class ClientTest {public static void main(String[] args) {FootBallTeamFactory factory = new GreatFootBallTeam();Player player = factory.createPlayer();Money money = factory.createMoney();Place place = factory.createPlace();player.play();money.pay();place.haveLand();}}控制台输出结果为:
世界级表现
资金雄厚
良好的草皮
阅读全文
0 0
- 设计模式(六)抽象工程模式
- 设计模式之抽象工程
- 设计模式(六)之抽象工厂模式
- 戏说设计模式(六)抽象工厂模式
- C#设计模式-抽象工程模式(1)
- C#设计模式-抽象工程模式(2)
- C#设计模式-抽象工程模式(3)
- C#设计模式-抽象工程模式(4)
- C#设计模式-抽象工程模式(5)
- C#设计模式-抽象工程模式(6)
- 设计模式之禅-抽象工程模式
- [设计模式as3版]六.抽象工厂
- (六)抽象工厂模式
- 设计模式----创建型之抽象工程
- 设计模式(六)
- 设计模式之六 --- 抽象工厂模式(Abstract Factory)
- 设计模式之六 --- 抽象工厂模式(Abstract Factory)
- 设计模式之六 --- 抽象工厂模式(Abstract Factory)
- linux centos安装nginx7.0 启动、重启、停止服务
- 什么是前端路由
- 阶乘
- 多个apk共享进程
- curl
- 设计模式(六)抽象工程模式
- hibernate三大查询所有对象
- 设计模式-单例模式
- 使用Java和Scala在IDE中实战RDD和DataFrame转换操作
- 自定义标签
- 广告策略评估指标(算法实习day2)
- javaSwing_2环境搭建
- Java泛型数组
- Sql Server 'Saving changes is not permitted' error Prevent saving changes that require table re-cr