应用实例:您需要一辆汽车,可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的,以
及这个汽车里面的具体实现。而至于需要哪个牌子的汽车,就到哪个牌子的工厂。
抽象工厂模式
抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他
工厂的工厂。
在抽象工厂模式中,接口是负责创建一个相关对象的工厂,不需要显式指定它们的类。每个生成的工厂
都能按照工厂模式提供对象。
提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。
应用实例:对于一个家庭来说,可能有商务女装、商务男装、时尚女装、时尚男装,都是成套的,
即一系列具体产品。假设一种情况,在您的家中,某一个衣柜(具体工厂)只能存放某一种这样的
衣服(成套,一系列具体产品),每次拿这种成套的衣服时也自然要从这个衣柜中取出了。用 OO
的思想去理解,所有的衣柜(具体工厂)都是衣柜类的(抽象工厂)某一个,而每一件成套的衣服
又包括具体的上衣(某一具体产品),裤子(某一具体产品),这些具体的上衣其实也都是上衣
(抽象产品),具体的裤子也都是裤子(另一个抽象产品)。
单例模式
单例模式(Singleton Pattern)是Java中最简单的设计模式之一。
这种模式涉及到一个单一的类,该类负责创建自己的对象,同时确保只有单个对象被创建。这个类提供
了一种访问其唯一的对象的方式,可以直接访问,不需要实例化该类的对象。
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
应用实例:一个班级只能有一个班主任。
建造者模式(构建者模式)
建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。
一个Builder类会一步一步构造最终的对象。该Builder类是独立于其他对象的。
将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。
应用实例:
1、去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的“套
餐”;
2、Java 中的 StringBuilder。
原型模式
原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。
这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,
则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,
在下一个请求时返回它的克隆,在需要的时候更新数据库,以此来减少数据库调用。
用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。
应用实例:
1、细胞分裂;
2、Java中的 Object clone() 方法。
---------------------结构型模式---------------------
评论0
最新资源