首页 >>  正文

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":"程序员必知必备编程宝典——《大话设计模式》

贡咽孙4120java中主要的设计模式有哪些?
田筠储15164694506 ______ 有单例模式、观察者模式、装饰者模式、 工厂模式、工厂方法模式、模板方法模式、适配器模式. 你可以找下“四人帮”的23种设计模式哪本书看下

贡咽孙4120在实战项目中,java 最常用哪些设计模式 -
田筠储15164694506 ______ 你好!javaweb中比较常用的模式是MVC,我们的项目是用的这个 仅代表个人观点,不喜勿喷,谢谢.

贡咽孙4120JavaWeb开发有那些主流设计模式?
田筠储15164694506 ______ MVC模式 J2EE模式 model1 model2模式

贡咽孙4120java中的设计模式有那些,详细讲解一下 -
田筠储15164694506 ______ 设计模式源于《Design Patterns: Elements of Reusable Object-Oriented Software》一书提到的23种设计模式, 根据模式的目的将23种模式分为三类:创建型(Creational),结构型(Structural)和行为型(Behavioral)模式. 创建型(...

贡咽孙4120Java写一套漂亮的代码,哪些设计模式比较常用 -
田筠储15164694506 ______ 对于代码结构上,看起来漂亮起作用的模式,常用的策略模式,工厂模式,装饰模式和观察者模式吧.但也看情景,生搬硬套会显得不够简洁的.

贡咽孙4120java的设计模式有几种 -
田筠储15164694506 ______ 23种!

贡咽孙4120java的三种设计模式??? -
田筠储15164694506 ______ 单例模式,工厂模式,迭代模式

贡咽孙4120什么是Java设计模式?
田筠储15164694506 ______ 阎宏的 <<JAVA 与模式>> 设计模式和具体是哪种语言关系不大吧... ABSTRACT FACTORY 抽象工厂 BUILDER 生成器 FACTORY METHOD 工厂方法 PROTOTYPE 原型 SINGLETON 单件 ADAPTER 适配器 BRIDGE 桥接 COMPOSITE 组成 DECORATOR 装饰 FACADE 外观 FLYWEIGHT 享元 PROXY 代理 CHAIN OF RESPONSIBILITY 职责链 COMMAND 命令 等等等等...按JAVA的语言特性应该都可以实现的...

贡咽孙4120java常用的设计模式有那些,各有什么优缺点? -
田筠储15164694506 ______ 设计模式:模式是一种问题的解决思路,它已经适用于一个实践环境.并且可以适用于其他环境. 设计模式的分类:分布式编程模式,用户界面模式,数据模型模式三大类. 设计模式的作用:设计的重用;为设计提供共同的词汇,每个模式名...

贡咽孙4120java23种设计模式中常用的九种是什么?
田筠储15164694506 ______ Factory Pattern(工厂模式) 上榜理由:将程序中创建对象的操作,单独出来处理,大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽...

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