Java实践之路(设计模式)——工厂模式(工厂方法)
来源:互联网 发布:c语言||什么意思 编辑:程序博客网 时间:2024/04/28 22:45
上期回顾:上期中公司开业不久遇到了一个问题,因为公司的员工只会开发java和C#软件,由于项目多员工无法去学习更多的开发语言(修改代码困难),导致接的php项目没人做。公司需要重新规划,根据这次的教训我将分部门来管理。分别为java部,C#部,准备找一些懂php的人来成立php部。于是先调整原来的公司结构
实现:首先一个公司的职能
public interface Factory {Programmer getProgrammer();}
java部门职能
public class JavaFactory implements Factory {public Programmer getProgrammer() {return new JavaProgrammer();}}
C#部门职能
public class CsharpFactory implements Factory {public Programmer getProgrammer() {return new CsharpProgrammer();}}
原有的结构已经调整好了,现在招一批懂php的开发人员
public class PhpProgrammer implements Programmer {public void develop() {System.out.println("I am develop php softeware");}}
将这个php开发人员组成一个新部门,php部门
public class PhpFactory implements Factory {public Programmer getProgrammer() {return new PhpProgrammer();}}
这样我的php项目就有人做了
public static void main(String[] args) {System.out.println("I want a php programmer");Factory factory=new PhpFactory();Programmer programmer=factory.getProgrammer();programmer.develop();}
这样我就不用愁了,管他今后接待什么开发语言的项目,我只要照这个方法,原来的员工也满意,我也轻松了。
没过几天我还整又接了一个项目,客户说要用ruby开发。看到原来部门的那些员工个个忙的,我也不想再去说了。找一批会ruby的成立一个ruby部门来负责这个吧
public class RubyProgrammer implements Programmer {public void develop() {System.out.println("I am develop ruby softeware");}}
public class RubyFactory implements Factory {public Programmer getProgrammer() {return new RubyProgrammer();}}
开工
public static void main(String[] args) {System.out.println("I want a ruby programmer");Factory factory=new RubyFactory();Programmer programmer=factory.getProgrammer();programmer.develop();}
哈哈,简单方便(当然这样的例子只是为了说明问题,现实中是不存在的)。
洋洋得意了好一阵子。慢慢的公司的规模变大,各方面的实力都在增加。于是我打算找几个销售人员来自己卖产品。按照原来的设计,发现问题来了。
原来公司只搞开发,销售人员进来和原来的结构肯定是大不一样了(工厂不再是生产一类东西了)。公司还有待调整
期待下期的抽象工厂模式来解决这个问题
- Java实践之路(设计模式)——工厂模式(工厂方法)
- Java实践之路(设计模式)——工厂模式(简单工厂)
- Java实践之路(设计模式)——工厂模式(抽象工厂)
- Java设计模式—工厂方法模式&抽象工厂模式
- Java设计模式—工厂方法模式&抽象工厂模式
- java设计模式示例程序之 ——简单工厂、工厂方法、抽象工厂模式
- <Java设计模式>—工厂方法模式
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- java设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式(简单工厂模式+工厂方法模式+抽象工厂模式)
- JAVA设计模式之工厂模式之工厂方法模式
- 设计模式——工厂模式之工厂方法
- DataList简单分页
- 通讯录开发学习7(终结)
- 基于Visual C++之Windows核心编程代码分析(4)获取操作系统信息
- 练习(字典)
- 让table的边线一样粗细的方法。
- Java实践之路(设计模式)——工厂模式(工厂方法)
- Web Service代理
- 练习(数组)
- 如何学习网页技术CSS
- 重载new和delete后调用构造函数和析构函数顺序
- 压缩感知系列科普文章之一:填补空缺——压缩感知
- vim
- 整型对象
- Linux世界开启传送门9-预备第1天