首页 > 其他分享 >设计模式

设计模式

时间:2023-11-04 11:34:51浏览次数:27  
标签:子类 模式 工厂 抽象 产品 生产 设计模式

一、工厂模式

1、简单工厂模式

通过一个具体的工厂类,根据传入不同的参数,生成实际对象

2、工厂方法模式

在工厂方法模式中,不再由单一的工厂类生产产品,而是由工厂类的子类实现具体的产品创建。当增加一个产品时,只需增加一个相应的工厂类的子类,实现生产这种产品,从而解决简单工厂生产太多产品导致内部代码臃肿的问题。

3、抽象工厂模式

前提:产品族,如一个工厂生产的洗衣机,冰箱,空调等

   产品等级,不同工厂生产的同一中产品,如A 生产的洗衣机,B生产的洗衣机

抽象工厂适用于需要生产产品族的场景。抽象产品类内部提供了多个其他抽象产品,抽象工厂类定义了产品的创建接口,通过具体的工厂子类,就可以生产对应的产品族对象。

标签:子类,模式,工厂,抽象,产品,生产,设计模式
From: https://www.cnblogs.com/xiaoyu1991/p/17809090.html

相关文章

  • 设计模式-单例模式概述
    我们常把23种经典的设计模式分为三类:创建型、结构型、行为型,其中创建型设计模式主要解决“对象的创建”问题,将创建和使用代码解耦,结构型设计模式主要解决“类或对象的组合或组装”问题,将不同功能代码解耦,行为型设计模式主要解决“类或对象之间的交互”问题,将不同的行为代码解耦。......
  • 每日总结Java设计模式之原型模式
    今天完成了设计模式的原型模式实验用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另外一个可定制的对象,而且不需知道任何创建的细节简单说就是先创建一个原型类实例,然后通过克隆的方法来复制一个一样的新对象,这个对象和原来......
  • 每日总结Java设计模式之单例模式
    今天做了单例模式的实验代码在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式。单例模式有3个特点:单例类只有一个实例对象;该单例对象必须由单例类自行创建;单例类对外提供一个访问该单例的全局访问点;1.单例模式的......
  • Flyweight 享元模式简介与 C# 示例【结构型6】【设计模式来了_11】
    〇、简介1、什么是享元模式?一句话解释:  将相似或同类的对象共享同一个对象,将这些对象暂存在列表中,使用时直接取出,避免每次使用时都要新建浪费资源。享元模式的目的是减少对象的创建,通过共享对象来提高系统的性能。享元设计模式将对象的实例分为两种:内部共享对象和外部共享对......
  • 设计模式(Design Pattern)记忆
    创建型记忆口诀:创公园,但见愁创工原,单建抽创建型工厂方法FactoryMethod原型Prototype单例Singleton建造者Builder抽象工厂AbstractFactory结构型记忆口口诀:姐想外祖,世代装桥结享外组,适代装桥结构型:享元Flyweight外观Facade组合Composite适配器Adapter装饰Decorat......
  • 大话设计模式之装饰模式笔记
    装饰模式的基本结构classDiagramclassComponent{<<interface>>+operation();}classConcreateComponent{+operation();}classDecrator{-Componentcomponent;+operation();}class......
  • 设计模式-中介者模式
    publicclass中介者模式{publicstaticvoidmain(String[]args){Mediatormediator=newConcreteMediator();ColleagueAcolleagueA=newColleagueA(mediator);ColleagueBcolleagueB=newColleagueB(mediator);mediator.setC......
  • 设计模式-访问者模式
    importjava.util.ArrayList;importjava.util.List;publicclass访问者结构{publicstaticvoidmain(String[]args){Visitvisit1=newVisitA();Visitvisit2=newVisitB();PersonStructurepersonStructure=newPersonStructure()......
  • 设计模式-策略模式
    publicclass策略模式{publicstaticvoidmain(String[]args){Strategyadd=newConcreteStrategyA();Strategysub=newConcreteStrategyB();Strategymultiply=newConcreteStrategyC();OperationContextcontext=newOpera......
  • 设计模式(一)
    1设计模式什么是设计模式?一个问题通常由n种解法,其中肯定有一种解法是最优的,这个最优的解法被人总结出来了,称之为设计模式。设计模式有20多种,对应20多种软件开发中会遇到的问题。关于设计模式的学习,主要学什么?1)解决什么问题?2)怎么写?2单例设计模式简介:确保一个类只有一个对......