public class zzr { public static void main(String[] args) { }} IUserDAO fq = factory.createISD(1); fq.getUserByID(7); 3.3 扩展IUserDAO接口实现---->MySqlUserDAO,并且完成客户端,对扩展功能的调用。 IUserDAO.java public interface IUserDAO { void getUserByID(int id);} MSServerDAO.java public class MSServerUserDAO implements IUserDAO { public void getUserByID(int id) { }} System.out.println(\+id); MySqlUserDAO.java public class MySqlUserDAO implements IUserDAO { public void getUserByID(int id) { }} System.out.println(\+id); Factory.java public class factory { } Zzr.java public class zzr { public static void main(String[] args) { } } IUserDAO fq = factory.createISD(1); fq.getUserByID(7); } public static IUserDAO createISD(int a) { IUserDAO user = null; if(a == 1) { user = new MSServerUserDAO(); } return user; 实验总结:通过实验的学习知道何时应用简单工厂模式和使用简单工厂带来的好处。
- 5 -
实验名称三:工厂方法模式 实验时间:2012.5.7 学时:2 实验地点: 实验目的:掌握工厂方法模式的基本实现形式,体会工厂方法模式的特点,掌握工厂方法模式的基本应用。 实验步骤:实现一个导出数据的框架,来让用户选择数据的导出方式,要求导出的数据格式:xml,txt。具体的导出方法只提供示意实现即可,重点体会框架的总体设计。 public interface Send { } public class XMLSend implements Send {
void send(); public void send() { System.out.println(\导出\); - 6 -
} } public class TXTSend implements Send { } public abstract class SendFactory { } public class XMLFactory extends SendFactory { } public class TXTFactory extends SendFactory { } public class Fanqiang { } public static void main(String[] args) { } SendFactory zzr = new TXTFactory(); zzr.getFactoryMethod(); public Send factoryMethod() { } return new TXTSend(); public Send factoryMethod() { } return new XMLSend(); public abstract Send factoryMethod(); public void getFactoryMethod(){ } factoryMethod().send(); public void send() { System.out.println(\导出\); } 3.4 用户对于此框架,提出了新的需求,要求可以导出数据库格式的数据文件。 public interface Send { } public class XMLSend implements Send { } public class TXTSend implements Send {
void send(); public void send() { System.out.println(\导出\); } public void send() { - 7 -
} System.out.println(\导出\); } public class SQLSend implements Send { } public abstract class SendFactory { } public class XMLFactory extends SendFactory { } public class TXTFactory extends SendFactory { } public class SQLFactory extends SendFactory { public Send factoryMethod() { return new SQLSend(); }} public Send factoryMethod() { } return new TXTSend(); public Send factoryMethod() { } return new XMLSend(); public abstract Send factoryMethod(); public void getFactoryMethod(){ } factoryMethod().send(); public void send() { System.out.println(\导出\); } public class Fanqiang { public static void main(String[] args) { SendFactory zzr = new TXTFactory(); zzr.getFactoryMethod(); } } 实验总结:学习了工厂方法模式,经过实验了解工厂方法的优点和缺点以及和简单工厂的区别。
- 8 -
实验名称四:抽象工厂模式 实验时间:2012.5.7 学时:2 实验地点:s203 实验目的:掌握抽象工厂模式的基本实现形式。体会抽象工厂模式的特点。掌握抽象工厂模式的基本应用。 实验步骤: public interface 主板 { void installCPU(); } public class AMD主板 implements 主板 { public void installCPU() { System.out.println(\我是AMD主板\); } } public class Intel主板 implements 主板 { public void installCPU() { System.out.println(\我是Intel主板\); } }
- 9 -