首页 >>  正文

java设计模式工厂模式

来源:baiyundou.net   日期:2024-09-20

作者:小码农阿顺

前言

不知道现在程序员面试还会不会经常被面试官提问设计模式方面的问题,在我以前毕业的时候,几乎所有大厂的面试题都离不开设计模式。从我多年的工作经验来看,很多程序员编码的时候都喜欢用现成的开源框架,很少有人会主动去关注和学习框架背后涉及的设计模式,所以很多普通码农工作一段时间后,很容易进入事业发展瓶颈期,因为缺乏对基础知识的掌握,没有厚积,难有薄发!

今天我刚好收到双十一购买的《大话设计模式》,这本书我以前上大学的时候就已经看过了,现在出版的是溢彩加强版,图文并茂,而且配图都是好看的彩色图片,阅读起来更加有趣、更加生动!

为什么要学设计模式?

在 Java 编程中,设计模式是一个比较重要的概念,它针对某一类问题提出了一种经过验证的、可重用的处理方法。设计模式可以帮助程序员解决经常遇到的设计问题,提高代码的质量、可重用性和可维护性。它遵循面向对象编程的原则,将代码组织成模块化的组件,使代码更容易理解和扩展。学习设计模式有助于提高代码的可重用性、可维护性和扩展性,同时提高代码的质量,进而提高程序员的职业素养,对个人职业发展和团队协作都有积极影响!不管你是前端开发人员还是后端开发人员,我认为都很有必要学学设计模式。

设计模式有哪几种类型?

设计模式主要分为三类:创建型、结构型和行为型,常见的设计模式主要有23种。

创建型模式:这类模式主要用于解决对象的创建过程,包括以下几种类型:

  • 单例模式(Singleton):确保一个类只有一个实例,并提供一个全局访问点。

  • 工厂方法模式(Factory Method):定义一个创建对象的接口,但由子类决定需要实例化哪一种类。

  • 抽象工厂模式(Abstract Factory):提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。

  • 建造者模式(Builder):将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示。

原型模式(Prototype):通过复制现有的实例来创建新的实例,而不是通过构造函数创建。

  • 结构型模式:这类模式主要用于解决类和对象之间的组合关系,包括以下几种类型:

  • 适配器模式(Adapter):将一个类的接口转换成客户期望的另一个接口。

  • 桥接模式(Bridge):将抽象部分与实现部分分离,使它们可以独立地变化。

  • 组合模式(Composite):将对象组合成树形结构以表示“部分 - 整体”的层次结构。

  • 装饰者模式(Decorator):动态地给一个对象添加额外的职责。

  • 外观模式(Facade):为一组复杂的子系统提供一个统一的接口。

  • 享元模式(Flyweight):运用共享技术有效地支持大量细粒度的对象。

  • 代理模式(Proxy):为其他对象提供一个代理以控制对这个对象的访问。

行为型模式:这类模式主要用于解决对象之间的通信问题,包括以下几种类型:

  • 职责链模式(Chain of Responsibility):使多个对象都有机会处理请求,从而避免了请求发送者和接收者之间的耦合关系。

  • 命令模式(Command):将请求封装为一个对象,从而可以使用不同的请求对客户进行参数化。

  • 解释器模式(Interpreter):为语言创建解释器,用于解释该语言中的句子。

  • 迭代器模式(Iterator):提供一种方法顺序访问一个聚合对象中各个元素,而又不暴露其内部的表示。

  • 中介者模式(Mediator):定义一个对象来封装一组对象之间的交互,使得对象之间不需要显式地相互引用。

  • 备忘录模式(Memento):捕获一个对象的内部状态,并在该对象之外保存这个状态,以便稍后恢复它。

  • 观察者模式(Observer):当一个对象的状态发生改变时,自动通知所有依赖于它的对象。

  • 状态模式(State):允许对象在内部状态改变时改变其行为。

  • 策略模式(Strategy):定义一系列算法,将每一个算法封装起来,使它们可以相互替换。

  • 模板方法模式(Template Method):在一个方法中定义一个算法的骨架,将一些步骤延迟到子类中实现。

  • 访问者模式(Visitor):表示一个作用于某对象结构中的各元素的操作。

关于本书

这本书以情景对话的形式,用多个小故事来讲解设计模式的原理和应用,使得抽象的设计模式概念变得形象生动,易于理解。学习真的就是需要结合我们生活中常见的案例来加以解释说明,这样我们学起来印象会更加深刻:哦,原来这个设计可以解决我们生活中遇到的某个问题啊!

而且书中增加了大量的彩色UML结构图和趣味图片,读起来也不会觉得很枯燥晦涩。UML结构图也是编程人员必备的基础知识之一,通过它可以快速清晰的理解系统的结构关系和逻辑关系,提升软件设计能力。

这本书的改版,内容比我大学时候读的版本丰富了很多,而且印刷制作精美,可以带来更好的阅读体验,偶尔翻翻都可以带来新的感受,常读常新!我觉得即使不看,摆在书桌上也是很好的点缀哈哈哈!

查看文章精彩评论,请前往什么值得买进行阅读互动

","gnid":"923c4d52afa08b77d","img_data":[{"flag":2,"img":[{"desc":"","height":"655","title":"","url":"https://p0.ssl.img.360kuai.com/t01087da61d6df64259.jpg","width":"498"},{"desc":"","height":"496","title":"","url":"https://p0.ssl.img.360kuai.com/t0193088c52298c0145.jpg","width":"367"},{"desc":"","height":"495","title":"","url":"https://p0.ssl.img.360kuai.com/t01876d3bd61bcc56d4.jpg","width":"659"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"pika","pub_time":1700276482000,"pure":"","rawurl":"http://zm.news.so.com/38eeb1fdec40278a8dedbbfe7eb9b27a","redirect":0,"rptid":"5fb1b50f56096187","rss_ext":[],"s":"t","src":"什么值得买","tag":[],"title":"程序员必知必备编程宝典——《大话设计模式》

白匡达2708java里使用工厂模式到底有什么好处? -
和任时13513108384 ______ 如果有许多地方都需要写很多A a=new A(). 如果需要修改的话,你要修改许多地方. 但是如果用工厂模式,你只需要修改工厂代码.其他地方引用工厂,可以做到只修改一个地方,其他代码都不动,就是解耦了.

白匡达2708java中常用的几种设计模式 -
和任时13513108384 ______ Java中的20几种种设计模式抄:Factory(工厂模式),Builder(建造模式),Factory Method(工厂方法模式),袭Prototype(原始模型模式),Singleton(单例模式),2113Facade(门面模式),Adapter(适配器模式),Bridge(桥梁模...

白匡达2708java 工厂模式,我不知道谁能告诉我? -
和任时13513108384 ______ 转自我曾经看过的一本书!设计模式之Factory 定义:提供创建对象的接口.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见.为什么工厂模式是如此常用?因为...

白匡达2708什么是Java设计模式之Factory -
和任时13513108384 ______ 用接口或父类接受工厂类返回的子类相应的对象Exp:Father.java:abstract public class Father { abstract public void shout(); }Daughter.java:public class Daughter extends Father { ...

白匡达2708java工厂模式,懂的人进 -
和任时13513108384 ______ 举两个例子以快速明白Java中的简单工厂模式: 女娲抟土造人 话说:“天地开辟,未有人民,女娲抟土为人.”女娲需要用土造出一个个的人,但在女娲造出人之前,人的概念只存在于女娲的思想里面. 女娲造人,这就是简单工厂模式的应用...

白匡达2708在JAVA中,通常在什么情况下用到工厂模式?? -
和任时13513108384 ______ 工厂模式负责将大量有共同接口的类实例化.工厂模式可以决定将哪一个类实例化,不必事先知道每次要实例化哪一个类. 工厂模式的几种形态: l 简单工厂模式.又称静态工厂模式. l 工厂方法模式.Factory Method,又称多态工厂或虚拟构造子模式(Virtual Constructor). l 抽象工厂模式.Abstract Factory,又称工具箱(Kit或ToolKit)模式. 工厂模式的逐步递演反映了抽象的步步加深、解决问题

白匡达2708j2ee常用的设计模式?说明工厂模式. -
和任时13513108384 ______ 工厂模式 就是抽象出创建对象 封装创建对象的变化 将产品的创建过程 交给 工厂子类处理 建议自己去网上找找

白匡达2708java常用的设计模式一共有多少种 -
和任时13513108384 ______ 1、正如上一位答主所言,java中存在23种面向对象的设计模式,分别是:1)创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式.2)结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式...

白匡达2708Java设计模式,需要用到两种设计模式,急需! -
和任时13513108384 ______ 工厂模式:Product代码:public interface Work { void doWork(); } ConcreteProduct代码:public class StudentWork implements Work { public void doWork() { System.out.println("学生做作业!"); } } public class TeacherWork implements ...

白匡达2708java中的factory是啥意思,怎么用能达到那种效果 -
和任时13513108384 ______ factory应该说的是java的工厂设计模式,在创建这个类的实例时,不手动new出来,而是交给工厂类来创建,在java开发中很多地方都用到了这种设计模式.要达到这种效果很简单啊,在工厂类中写一个方法,让这个方法返回该类或该类子类的实例即可.

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024