Java设计模式
CrazyIdeas
辛勤耕耘的码农
展开
-
简单了解 建造者模式的 大致流程,怎么回事
建造者模式工厂模式提供的是创建单个类的模式,每个类的规模不能太过庞大。当一个类的规模太过庞大时,需要对其进行分解,然后根据规则一步一步构建而成。建造者模式就可以完成这样的任务。建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。下面时建造者模式类图对上面类图进行简要说明,方便我们理解建造者模式。假设我们需要一个产品,比如计算机。于是定义一个计算机类,在类中说明了这台计算需要哪些部件,比如显卡,声卡等。// Product 定义 产品 需要那些东西原创 2020-07-17 23:01:10 · 177 阅读 · 0 评论 -
对象的影分身之术(原型模式)
原型模式在《火影忍者》中,影分身之术,是使用查克拉制造出有实体的分身,它们可以和施术者一样行动战斗,具有独立于施术者本体的意识。在软件开发中也有和影分身相似的思想就是原型模式。原型模式的核心思想是以一个已经创建的对象为原型,通过对其进行复制的方式来创建一个相似或者相同的对象。很好理解和我们常用的ctrl + c和ctrl + v差不多。下面关于原型模式的类图在Java中已经为我们提供了Prototype接口,为Cloneable接口。只需要实现Cloneable接口,覆盖clone方法。其中Clon原创 2020-07-10 09:05:16 · 233 阅读 · 0 评论 -
聊聊单例模式的多种实现方式(Java)。
单例模式,可以保证你在系统的任何地方使用的实例都是同一个,也就是一个类只能创建一个实例,这样可以节省内存资源、保证数据内容的一致性。单例模式(Singleton)定义,保证一个类仅有一个实例,并提供一个访问它的全局访问点。下面是类图单例模式的思想就是保证类只有一个实例,所以剩下的问题就是利用编程语言的一些特性来实现这种思想。下面了解Java语言如何保证这种思想的。在Java中所有类都有构造方法,不显示定义构造方法,系统会提供一个默认的构造方法,若有显示定义的构造方法,默认的构造方法就会失效。所以为了原创 2020-06-30 18:00:08 · 211 阅读 · 0 评论 -
抽象工厂模式是怎么回事?
抽象工厂模式工厂方法模式只能满足生产同种产品的需求,如果有要创建多种产品的需求就需要使用抽象工厂模式了。抽象工厂模式(Abstract Factory),提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。下面通过类图了解一下抽象工厂模式是如何在工厂方法模式的基础上进行修改的。通过类图我们可以了解到,抽象工厂模式其实就是在工厂方法模式的基础上添加了另一类产品,并且在抽象工厂中添加了创建对应商品的方法。这样每个具体的工厂就可以生产多种产品了。由于只是在工厂方法模式的基础上添加了一个原创 2020-06-28 18:46:55 · 3274 阅读 · 0 评论 -
简单了解工厂方法模式
工厂方法模式工厂方法模式(Factory Method)是创建型模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。也是对简单工厂模式的改进。简单工厂模式的主要缺点出现在工厂类,工厂类在创建产品对象时不唯一,需要通过条件判断的方式来选择对应的产品类。所以在添加新的产品时,需要把对应的创建条件添加到工厂类中,造成工厂类违背开闭原则。工厂方法模式针对其缺点进行了改进,让工厂只创建一个产品,每个具体产品对应不同的工厂,并对每个工厂进行抽象,建立抽象工厂,这样使用原创 2020-06-27 15:36:28 · 295 阅读 · 0 评论 -
一篇介绍简单工厂模式的文章
简单工厂模式简单工厂模式可理解为对封装思想的应用,就是当你创建一个对象时,不要让两个类之间直接对话,而是通过第三方转发调用。这个第三方被称为工厂。如下图:符合封装思想就会获得它的优点,降低了Client类和ConcreteProduct类之间的耦合度,也提高了类的复用率。但是当我们能用到工厂类的时候,一般都是创建多个产品。所以我们还要利用依赖倒置原则对多个产品进行抽象归类,如下图就是基础的简单工厂模式。上图中,我们对多个产品进行了抽象,形成Product接口。并对工厂类进行了改进,可以根据自己的需原创 2020-06-23 19:37:51 · 402 阅读 · 0 评论 -
设计模式预备思想
今天起开始更新关于《设计模式》的文章,《设计模式》就是前辈们根据自己的代码设计经验,对软件开发过程中一些不断重复的问题,提出了相应的解决方案。提高了代码的可重用性、可读性和可靠性。经典的设计模式总共有23种,根据其目的性可以划分为创建型模式、结构型模式和行为型模式 3种。下表就是对其的具体划分:分类描述具体模式创建型模式用来说明怎样创建对象单例模式原型模式工厂方法模式抽象工厂模式建造者模式结构型模式如何将类或对象按某种布局组成更大的结构代理模式适配器模式桥接模式装饰模式原创 2020-06-22 12:15:54 · 210 阅读 · 0 评论 -
设计模式之代理模式
代理模式代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。访问对象不适合或者不能直接引用目标对象。解决了直接访问对象时带来的问题。代理对象作为访问对象和目标对象之间的中介,起到保护目标对象的作用。可以对目标对象的功能进行 扩展。目标对象和访问对象进行了分离,在一定程度上降低了系统的耦合度。缺点访问对象和目标对象之间增加了一个代理对象,造成请求处理速度变慢。有些代理对象实现比较复杂,同时增加了系统的复杂度。原创 2019-11-13 15:03:56 · 144 阅读 · 0 评论 -
设计模式之原型模式
作为码农中的一员,需要不断的学习。我在学习之余把关于自己阅读《大话设计模式》的笔记和自己的一些总结 写成博客和大家分享,也希望采用这种方式记录自己原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。这种模式是用于创建重复的对象,同时又能保证性能。它实现了一个原型接口,该接口用于创原型模式(Prototype),用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原创 2019-11-12 15:41:04 · 165 阅读 · 0 评论 -
设计模式之单例模式
单例模式单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建,并且它可以提供一个访问该实例的方法。原创 2019-11-12 14:39:42 · 136 阅读 · 0 评论 -
设计模式之建造者模式
建造者模式建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。建造者模式就是是将一个复杂的对象分解为多个简单的对象,然后通过具体建造者类一步一步构建而成。建造者模式主要是用于创建一些复杂的对象,这些对象内部构建间的建造顺序通常是稳定的,但对象内部的构建通常面临着复杂的变化。建造者(Builder)模式和工厂模式的关注点不同:建造者模式注重零部件的组装过程,而工厂方法模式更注重零部件的创建过程,但两者可以结合使用。原创 2019-11-11 16:37:44 · 131 阅读 · 0 评论 -
设计模式之抽象工厂模式
抽象工厂模式抽象工厂模式,提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式是工厂方法模式的升级版本,工厂方法模式只生产一个等级的产品,而抽象工厂模式可生产多个等级的产品抽象工厂模式的优缺点优点可以创建易于交换产品系列,根据需要更改具体工厂就可以。增加新的产品系列时,无须对原工厂进行任何修改。缺点在增加新产品时,所有的工厂类都要修改,增加了系统的复杂度。原创 2019-11-10 18:07:02 · 184 阅读 · 0 评论 -
设计模式之工厂方法模式
工厂方法模式工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。这满足了创建与使用相分离的特点。原创 2019-11-06 16:22:54 · 209 阅读 · 0 评论