工厂模式
在学习设计模式,设计模式还是很重要滴(废话),写一些设计模式的实现方式。。。
工厂模式,其实工厂模式很多时候都是和单态一起使用的,但是为了简单起见,就只使用工厂模式来架一下程序的结构。
写一个接口,或是抽象类,让实现功能的类都从接口中继承,然后再用容器将要用的功能的子类装起来,然后遍历容器,依次调用这些类的方法,这是工厂的一个简单的思想。
模拟一个消息处理的工厂。
上面的方法都是空实现,在方法体中加入处理逻辑的代码就可以实现消息的处理了
工厂模式,其实工厂模式很多时候都是和单态一起使用的,但是为了简单起见,就只使用工厂模式来架一下程序的结构。
写一个接口,或是抽象类,让实现功能的类都从接口中继承,然后再用容器将要用的功能的子类装起来,然后遍历容器,依次调用这些类的方法,这是工厂的一个简单的思想。
模拟一个消息处理的工厂。
//定义接口 public interface MsgDeel { public String deel(String str); }定义子类
public class NumDeel implements MsgDeel { @Override public String deel(String str) { System.out.println("NumDeel"); return str; } } public class SemicolonDeel implements MsgDeel { @Override public String deel(String str) { System.out.println("Semicolon"); return str; } }定义遍历的方法
public class MsgControl { public String msgControl(List<MsgDeel> msglist,String str){ for(int i=0;i<msglist.size();i++){ MsgDeel md = msglist.get(i); str = md.deel(str); } return str; } }测试方法
public class MsgDeelServer { public static void main(String[] args){ List<MsgDeel> msg = new ArrayList<MsgDeel>(); MsgDeel smsg = new SemicolonDeel(); MsgDeel fmsg = new FuckDeel(); msg.add(smsg); msg.add(fmsg); msg.add(smsg); msg.add(fmsg); msg.add(fmsg); msg.add(smsg); MsgControl msgc = new MsgControl(); msgc.msgControl(msg, "lala"); } }
上面的方法都是空实现,在方法体中加入处理逻辑的代码就可以实现消息的处理了