什么是设计模式?

简单理解:  特定问题的固定解决方法

 

好处:

使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性

 

工厂设计模式

拿一个例子才好说明。

例子:有一个接口,是类的共同的属性,有几个类都实现了该接口

比如 接口Usb,有鼠标实现了接口,有风扇实现了接口,然后还有U盘实现了接口

看代码:

设计模式:特定问题的解决方法,工厂设计模式设计模式:特定问题的解决方法,工厂设计模式设计模式:特定问题的解决方法,工厂设计模式设计模式:特定问题的解决方法,工厂设计模式

 

然后我们的客户端,根据客户的需求,输入数字来确定是哪一个产品

设计模式:特定问题的解决方法,工厂设计模式

我们根据用户的输入来确定产品,然后实例化相应的产品类,这样有一个问题。

就是程序的扩展性不高,每当增加一个产品,我们都要改很多的代码,问题就出现在了UsbFactory上,我们现在写的工厂里的逻辑是根据用户输入的数字来判断产品

我们现在修改为:根据用户传入进来的 商品的全名称:包名.类名的格式

即我们就可以利用反射,得到相对应的产品

设计模式:特定问题的解决方法,工厂设计模式

上面代码传入的类型是商品的全名称,先得到类对象,然后使用类对象实例化,就得到相应的对象

然后我们就可以将数字和全名称放到配置文件:properties中

设计模式:特定问题的解决方法,工厂设计模式

在客户端的代码就是:

我们先创建一个properties,然后 使用文件流对象读取,然后加载进入properties,我们就可以使用properties的方法getProperties传入的key获取值了

设计模式:特定问题的解决方法,工厂设计模式

这样写的好处是:当我们添加一个对象的时候我们只需要在properties配置文件里增加就可以了

 

相关文章: