设计模式_简单工厂模式

来源:互联网 发布:射手座万代玩具淘宝 编辑:程序博客网 时间:2024/06/01 12:08
/**
 *简单工厂模式 :
 *简单工厂模式有三部分组成:1.抽象产品类;2.具体产品类;3.工厂类
 */


/**
 * 枚举类型,作为工厂方法的参数,用来说明需要哪个产品
 */
 enum PRODUCTTYPE {  
  PRODUCTONE, PRODUCTTWO  

/**
 *工厂类,用来生产具体的产片,根据给定的产品标志
 */
class Factory{
 static Product Productfactory(PRODUCTTYPE type)
{
Product product = null; 
switch (type) {
case PRODUCTONE:
product = new SubProductOne();
break;
case PRODUCTTWO:
product = new SubProductTwo();
default:
break;
}
return product;
}
}


/**
 *产品抽象类
 */
interface Product{
// method
public void doSomeThing();
}


/**
 *产品具体类2
 */
class SubProductOne implements Product{
// concrete method
public void doSomeThing(){
System.out.println("SubProductOne");
}
}


/**
 *产品具体类2
 */
class SubProductTwo implements Product{
// concrete method
public void doSomeThing(){
System.out.println("SubProductTwo");
  }
}


/**
 * 
 * 客户端测试调用
 * 
 */
public class Pattern_01_SimpleFactory {


/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
//需要产品SubProductOne
Product product_one = Factory.Productfactory(PRODUCTTYPE.PRODUCTONE);
product_one.doSomeThing();

//需要产品SubProductTwo
Product product_two = Factory.Productfactory(PRODUCTTYPE.PRODUCTTWO);
product_two.doSomeThing();


}


}


/**
 *总结:简单工厂模式是工厂模式的一种特例,简化版的工厂模式。简单工厂从某种程度上降低了项目的耦合度,是一种低耦合的效果,比方说我们客户端,也就是调用该类的地方,创建
 *类不需要知道是如何创建的,只需要调用该类的实例可以了。不用简单工厂模式,一般的做法是创建该类的实例,也就是创建类对象,然后进行类的初始化工作,如果初始化工作比较多的话,
 *会使得调用地方大量的冗余,更甚者是提高了耦合度。当然如果产品类比较多的话,使用简单工厂模式,每一次添加一个产品类别,都要修改一下创建方法,违背了设计模式中的开闭原则。
 *优点:低耦合 ,提高了软件架构的模块化。
 *缺点:不符合设计模式中的开闭原则,对添加开放,对修改关闭,不利于项目的可扩展性。
 */


 
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 大王卡信号差怎么办 华为P9Plus忘记密码怎么办 华为手机音质差怎么办 三星c5手机发烫怎么办 华为手机老卡怎么办 小米手机慢卡怎么办 华为指纹识别不灵敏了怎么办 金立手机信号不好怎么办 手机边框坏了怎么办 手机保护膜划了怎么办 车膜贴的有气泡怎么办 手机膜进气泡怎么办 贴的手机膜翘角怎么办 全屏膜出现气泡怎么办 手机膜的气泡怎么办 透明手机壳气泡怎么办 钢化膜边缘有气泡怎么办 贴钢化膜边缘有气泡怎么办 钢化膜边上有泡泡怎么办 贴钢化膜周边有气泡怎么办 钢化膜里面有气泡怎么办 手机保护膜破了怎么办 手机触摸屏没反应怎么办 苹果手机触屏坏了怎么办 手机边缘有气泡怎么办 手机膜有空气怎么办 电脑膜有气泡怎么办 汽车贴膜起泡怎么办 汽车玻璃膜用久了起泡怎么办 车窗玻璃膜起泡怎么办 新车贴膜气泡怎么办 贴手机钢化膜有灰尘怎么办 戒指砖石掉了怎么办 寄手机没有包装怎么办 手机背面有划痕怎么办 oopo手机声音小怎么办 手机屏幕被划了怎么办 oppo手机组装屏卡顿怎么办 金立手机卡顿怎么办 vivo手机有点卡怎么办 oppo手机有点卡怎么办