guokehua(@yahoo.com.cn oy Java 1010 21SpringIoC(1) 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 21SpringIOC SpringIOC(1)
guokehua(@yahoo.com.cn 了y基于BS的典型三层架构 展现层( Presentation 业务逻辑层 持久化层(Data Laver) (Buseness Layer) source Layer) Web Work/Struts loc Spring loc Hibernate IoC容器, 映射文件, Action Form Bean,配 Hibernate接口 置文件,模板页面 AOP, Hibernate的支 持,事务管理 DAO模式 Domain Model Business Objects 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 基于B/S的典型三层架构 的典型三层架构
guokehua(@yahoo.com.cn 了y问题 你做了一个网站,其中要用到一些业务逻辑 登陆(返回 boolean),注册(返回 boolean),查 询(返回 HashSet)。这个模块经常被改变,或 者为不同的业务服务(如银行和商场都有这些 功能)而切换,你怎样在 Action里面调用这个 模块? new 一个对象 1·方案1:将所有可能出现的切换情况都拷贝到 Action目录下 方案2:面向接口编程,并且用到工厂 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 问题 • 你做了一个网站,其中要用到一些业务逻辑: 登陆(返回boolean),注册(返回boolean),查 询(返回HashSet)。这个模块经常被改变,或 者为不同的业务服务(如银行和商场都有这些 功能)而切换,你怎样在Action里面调用这个 模块? • new 一个对象 • 方案1:将所有可能出现的切换情况都拷贝到 Action目录下 • 方案2:面向接口编程,并且用到工厂
guokehua(@yahoo.com.cn public class Action public void executeD I CustomerDao icao=( (CustomerDao) Bean Factory. get Bean(“别名”); dao login; 10101 public class Bean Factory{∥框架化 public static Object get Bean( String aName)( String className=根据读取的类名; return Class forName(className). newInstance0; -设置配置文件,定义别名和类名的映射 public interface ICustomerDaof public abstract boolean login public class Customer Dao implements ICustomerDaod public boolean login{*代码*
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 public class Action{ public void execute(){ ICustomerDao icdao = (ICustomerDao )BeanFactory. getBean(“别名”); cdao.login(); } } public class BeanFactory{ //框架化 public static Object getBean(String aName){ String className = 根据读取的类名; return Class.forName(className).newInstance(); } }-------------设置配置文件,定义别名和类名的映射 public interface ICustomerDao{ public abstract boolean login(); } public class CustomerDao implements ICustomerDao{ public boolean login(){/*代码*/} }
guokehua(@yahoo.com.cn 了y问题的提出 有一个应用,要求能够很好地接受u盘或 者移动硬盘(假如两种介质的读写算法不 1010 样)的接入,你如果是开发人员,应该 怎么样开发这个应用? Q·注意:程序里面只有两个功能: ReadInfoo, WriteInfoo 方案1:在应用里面将所有可能的介质算 法都开发一遍 郭克华J2EE框架实战教学视频
oy Java! J guokehua@yahoo.com.cn 郭克华J2EE框架实战教学视频 问题的提出 • 有一个应用,要求能够很好地接受u盘或 者移动硬盘(假如两种介质的读写算法不 一样)的接入,你如果是开发人员,应该 怎么样开发这个应用? • 注意:程序里面只有两个功能: ReadInfo(),WriteInfo() • 方案1:在应用里面将所有可能的介质算 法都开发一遍