今天群里突然有人问,反正有什么用。想了想不就是动态获取类的信息吗?
最近在学java,东西好多。
在设计模式里面
- 平时正常初始化一个对象都new来生成,new就造成了代码耦合,为了解耦合。干脆不让自己new了。
- 平时写过最多的工厂模式,一般有if或者switch来判断参数传入,返回对应的类的对象,例:Factory.getInstance(“args”)。当我增加新的类的时候,我们就要去修改工程类,以适应新的业务。
- 有反射模式,(Base)Class.forName(className).newInstance(),这样就可以生成类对应的对象,而且在新增加类的时候,工厂方法保持不变。
DB操作
- 对应一个table一般个DAO文件,用来对表进行添删改查。但是突然有10个表,也只是添删改查。我们机械的复制10个DAO文件是多么蠢的事情。
- 这个时候可以用到反射,约定只需要每个表名创建一个对象即可,类的成员函数截掉set就获得全部字段,拼sql完成数据操作。