设计模式开篇 - 简单工厂模式
2013-03-25 00:57
148 查看
最近在整理、学习设计模式相关的知识,大部分是些学习笔记或者网络上整理过来的资料,以利于复习、理解之用。
简单工厂设计模式:
1、接口相关知识复习:
2、在java中非常重要的三层:
View Code
问题:客户端需要知道接口和具体的实现类。
由此可见简单工厂模式的主要功能是:不想让客户端知道具体的实现的时候可以使用。
4、解决办法:
代码:
简单工厂设计模式:
1、接口相关知识复习:
一种特殊的抽象类,方法都是抽象的,属性都是常量 接口的思想:封装隔离-- 对被隔离体的行为的封装或者对被隔离体的职责的封装 使用接口的好处:隔离开外部调用和内部是实现 -- 接口是系统可插拔性的保证 接口和抽象类的选择: 优先选用接口 如果要定义子类的行为又要为子类提供公共功能的时候选择抽象类 面向接口编程是Java编程中的一个重要的原则。
2、在java中非常重要的三层:
View Code
Api.java package com.xinye.designpattern.simplefactory; /** * 接口(提供通用的、抽象的、非具体的功能) * @author xinye * */ public interface Api { public void test(String s); } Impl.java package com.xinye.designpattern.simplefactory; /** * 具体的接口实现类 * @author 实现类 * */ public class Impl implements Api { @Override public void test(String s) { System.out.println("您输入的是:" + s); } } Client.java package com.xinye.designpattern.simplefactory; /** * 客户端类 * @author xinye * */ public class Client { /** * @param args */ public static void main(String[] args) { Api api = new Impl(); api.test("我正在学习设计模式"); } }
问题:客户端需要知道接口和具体的实现类。
由此可见简单工厂模式的主要功能是:不想让客户端知道具体的实现的时候可以使用。
4、解决办法:
代码:
Api.java package com.xinye.designpattern.simplefactory; /** * 接口(提供通用的、抽象的、非具体的功能) * @author xinye * */ public interface Api { public void test(String s); } ImpA.java package com.xinye.designpattern.simplefactory; /** * 实现类A * @author xinye * */ public class ImplA implements Api { @Override public void test(String s) { System.out.println("实现类A - 您输入的内容:" + s); } } ImplB.java package com.xinye.designpattern.simplefactory; /** * 实现类B * @author xinye * */ public class ImplB implements Api { @Override public void test(String s) { System.out.println("实现类B - 您输入的内容:" + s); } } Factory.java package com.xinye.designpattern.simplefactory; /** * 工厂类 * @author xinye * */ public class Factory { public static Api createApi(int condition){ Api api = null; if(condition == 1){ api = new ImplA(); }else{ api = new ImplB(); } return api; } } Client.java package com.xinye.designpattern.simplefactory; /** * 客户端类 * @author xinye * */ public class Client { /** * @param args */ public static void main(String[] args) { Api api = Factory.createApi(1); api.test("工厂类中创建的对象"); } }
相关文章推荐
- (设计模式之一)浅析简单工厂模式
- 设计模式:单例和简单工厂
- 【设计模式】之 Simple Factory 简单工厂
- 23大设计模式+简单工厂
- 24 API-多线程(多线程(多线程JDK5Lock锁,生产者消费者等待唤醒机制,定时器),设计模式(设计原则,设计模式(简单工程,工厂方法,单例模式)
- 设计模式 学习笔记(1)简单工厂模式、策略模式
- .NET设计模式(1) - 简单工厂模式
- JAVA设计模式--简单工厂
- 简单工厂,工厂方法,抽象工厂 三种设计模式的区别和实例
- 设计模式之:简单工厂模式
- Java 设计模式之简单工厂模式
- 追MM与设计模式的JAVA实现-简单工厂方法
- java设计模式之简单工厂模式
- 设计模式--创建模式--简单工厂模式--java
- 设计模式之简单工厂模式
- Java中抽象类:模板设计模式与简单工厂设计模式
- 设计模式——简单的工厂模式
- 设计模式_简单工厂模式
- java设计模式——简单工厂
- 设计模式——简单工厂