什么是设计模式?
简单理解: 特定问题的固定解决方法
好处:
使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性
工厂设计模式
拿一个例子才好说明。
例子:有一个接口,是类的共同的属性,有几个类都实现了该接口
比如 接口Usb,有鼠标实现了接口,有风扇实现了接口,然后还有U盘实现了接口
看代码:
然后我们的客户端,根据客户的需求,输入数字来确定是哪一个产品
我们根据用户的输入来确定产品,然后实例化相应的产品类,这样有一个问题。
就是程序的扩展性不高,每当增加一个产品,我们都要改很多的代码,问题就出现在了UsbFactory上,我们现在写的工厂里的逻辑是根据用户输入的数字来判断产品
我们现在修改为:根据用户传入进来的 商品的全名称:包名.类名的格式
即我们就可以利用反射,得到相对应的产品
上面代码传入的类型是商品的全名称,先得到类对象,然后使用类对象实例化,就得到相应的对象
然后我们就可以将数字和全名称放到配置文件:properties中
在客户端的代码就是:
我们先创建一个properties,然后 使用文件流对象读取,然后加载进入properties,我们就可以使用properties的方法getProperties传入的key获取值了
这样写的好处是:当我们添加一个对象的时候我们只需要在properties配置文件里增加就可以了