当前位置:龙泉人才网 - 人才百科 -

青峰科技(最强设计模式全攻略)

  • 人才百科
  • 2023-12-20 22:00
  • 龙泉小编

导语

什么是设计模式?

设计模式的目的是什么?为什么要学习设计模式?

1、设计模式能让专业人之间交流方便,如下:

程序员A:这里我用了XXX设计模式

程序员B:那我大致了解你程序的设计思路了

2、易维护

项目经理:今天客户有这样一个需求…

程序员:明白了,这里我使用了XXX设计模式,所以改起来很快

3、设计模式是编程经验的总结

程序员A:B,你怎么想到要这样去构建你的代码

程序员B:在我学习了XXX设计模式之后,好像自然而然就感觉这样写能避免一些问题

4、学习设计模式并不是必须的,可以使用其他方法代替

程序员A:B,你这段代码使用的是XXX设计模式对吗?

程序员B:不好意思,我没有学习过设计模式,但是我的经验告诉我是这样写的

5、设计模式重语义而不重语法

一种设计模式可以使用多种语法实现

设计模式的分类

1.创建型模式

2.结构型模式

3.行为型模式

4J2EE 模式

具体设计模式

抽象工厂模式 (Abstract Factory)提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类

目的及好处

首先,工厂模式是为了解耦:把对象的创建和使用的过程分开。就是Class 0 想调用 Class 1 ,那么0只是调用1的方法,而至于1的实例化,就交给工厂类。

其次,工厂模式可以降低代码重复。如果创建对象B的过程都很复杂,需要一定的代码量,而且很多地方都要用到,那么就会有很多的重复代码。我们可以这些创建对象B的代码放到工厂里统一管理。既减少了重复代码,也方便以后对B的创建过程的修改维护。

由于创建过程都由工厂统一管理,所以发生业务逻辑变化,不需要找到所有需要创建B的地方去逐个修正,只需要在工厂里修改即可,降低维护成本。同理,想把所有调用1的地方改成B的子类11,只需要在对应生产B的工厂中或者工厂的方法中修改其生产的对象为B1即可,而不需要找到所有的new 1()改为new 11()。

另外,因为工厂管理了对象的创建逻辑,使用者并不需要知道具体的创建过程,只管使用即可,减少了使用者因为创建逻辑导致的错误。

通俗来讲

工厂模式是创建型模式中最典型的模式,主要是用来创建对象,减少我们在使用某个对象时的new() 操作,我相信大家都有这样的困惑,目前我所在的项目都在程序开发的过程中,还是

有很多的new()操作出现在表现层中,并没有通过工厂来创建对象,一方面可能是因为我们自身比较懒,不规范项目的编码形式,另外一方面也是由于项目的进度比较紧,没有那么多的时间去

完成工厂的统一创建,当然对于这样的动态创建对象的工厂,推荐的做法还是我们后面会讲到的创建型模式--《抽象工厂模式》来解决吧。

如果您并不知道工厂模式是用来干什么的,我们可以通过如下举例来说明,例如我们现在有个矿泉水加工厂,加工矿泉水,我们现在知道有矿泉水这个对象,那么当我批量生产矿泉水的

时候,我们就通过工厂来批量的生产,等于我们程序中的批量创建对象。这时候我有很多个对象,也就是很多游客,他们每人都要一瓶矿泉水,这时候如果说把游客比作不同的应用程序模块,

这种情况下,不同的游客需要矿泉水的时候,我就new()一个矿泉水和我找个加工厂生产矿泉水明显是有差别的,这个时候,游客不应该和矿泉水有

关联关系了,而且游客不知道,矿泉水是怎么生产出来的,也不需要关心这些东西。

基于面向对象的变成设计时,原则就是低耦合,对象和对象之间。那么对象之间的引用关系,可以通过抽象出接口,通过借口的依赖来解耦,降低系统的耦合性。

BaseProduct : 声明一个接口,这个接口中包含产品对象类型。

ConcreteProduct : 定义一个产品对象,这个产品对象是由相关的具体工厂创建的。

主函数测试代码

实现工厂方法

免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn/a/rencai/91247.html

  • 关注微信

猜你喜欢

微信公众号