IoC代表的是一种思想 也是一种开发模式 但他不是什么具体的开发方法
类与类之间的调用关系是系统类之间最直接的关系 因此 我们可以将系统中的类分为两类 调用者和被调用者
软件设计在不断进步 其实一直都是在解决调用者与被调用者之间的调用方法问题
软件设计方法及设计模式的发展 共产生3种类调用的方法 自己创建 工厂模式 外部注入
也就是 new get set
演示不同的方法在Student中取得不同Book对象时的区别
1 new
Student ----new-----> BookA
2 get
添加一个工厂类
Student ---get---> Book Factory ----new--> BookA
3 set
Student <---set---- BookA
这种方式完全跑开了依赖关系的枷锁 可以自由的有外部注入 这就是IoC将对象创建和获取提取到外部 由外部容器提供需要的组件
反射中常用到的方法
1 创建一个类
使用java.lang.reflect中的类时 首先需要获得你想操作的类的java.lang.Class对象 在运行Java程序中 用Java.lang.Class类来描述类和接口等
Java语言提供一种直接获得Class实例的简便快捷方式
- Class class = MyClass.class
当使用这一项技术时 装入类涉及的所有工作都在内部进行 但是 如果需要在运行时从某些外部源读取类名时 就需要使用一个类装入器来查找类信息 此时需要使用下面的方法
- String name = "MyClass";
- Class clazz = null;
- try
- {
- clazz = Class.forName(name);
- }catch(ClassNotFoundException ex){
- }
如果已经装入了类 你将得到现有的MyClass信息 如果类未被装入 类装入器将现在装入并返回新创建的类实例
2 使用类的构造函数创建一个实例
3 操作类的字段
4 操作类的方法
IoC容器的革命性优点颠覆了“使用对象之前必须创建”的基本Java语言定律 当然 实际上这个创建的过程已经由IoC容器实现了 就好比Java对象的销毁由垃圾回收机制实现了一样 所谓的无须创建和销毁 都是建立在IoC容器和垃圾回收机制的基础上 面向程序开发人员的
阅读(952) | 评论(0) | 转发(0) |