作为程序员菜鸟的板凳君,决定开始打牢固Java基础,那么就先从开始从设计模式开刀吧!
1、前言
首先我们应该知道我们为什么要学习设计模式,板凳君就先谈谈自己的看法吧!其实设计模式说通俗一点就是我们的无数的前辈们总结的一套案例或者说是模板。因为在开发中,我们会经常遇到很多相同地场景,这个时候,我们的前辈们就把处理这种相似场景的思路或者说解决办法总结成一套模板,让后辈们在遇到相似场景的时候直接套用这种模板就行啦!
所以学习这种设计模式我们更多的是要学习这些设计思想,因为的确是非常经典,这可能会对以后 自己的编码风格有一定的影响。
2、 工厂模式
工厂模式应该算是这些设计模式中我们比较早了解的模式,它经常出现在各种配置文件中、或者我们自己地某些代码中。
我对于工厂模式的理解就是一种面向过程的编码的体现,因为开发者在创建一个对象的时候,不再需要自己去创建一个对象,而是将这种职能赋予给工厂,调用者只需要调用工厂的创建方法就可以得到自己想要的对象。而工厂对象又完美的体现了java设计原则中的单一职责,工厂的职责就仅仅是为了创建对象。其次就是,工厂的存在封装了类的创建,使调用者无法观察到对象的创建过程,而只需要关心创建对象是所需要的条件即可。
但是这种简单的工厂模式,我们在开发中会很少或者几乎看不到,因为它的扩展性并不好,因为当一个工厂需要扩展产品的时候,原先的工厂类已经无法满足需求,需要改动源码,违背了开闭原则。不过从简单的工厂模式学起,我们也能从中学习到一些东西,毕竟在学习这种模式的时候我们的思想就已经在进步了,不是吗?好了,下面就来上代码举例子吧!
3、代码
3.1 这是一个制造汽车的工厂类、但是从代码中我们可以看到汽车的创建只有两种品牌的,当我们想要扩展产品时,这个类是肯定不合适的。
3.2 车的抽象类
3.3 具体的车
3.4 最后的测试,从测试中我们都可以看到,调用者只需要面向工厂即可
3.5 运行结果