抽象工厂方法中的,客户端与抽象产品,客户端与抽象工厂的关系

问题描述

抽象工厂方法中的,客户端与抽象产品,客户端与抽象工厂的关系关联、依赖、若都不是,是啥?观察者者模式中,主题接口与观察者接口,主题接口与实现观察者接口的类是何关系关联、依赖、若都不是,是啥?

解决方案

解决方案二:
确定都不是了吗?他们之间至少是存在关系的吧,而这种关系我觉得客户端是依赖抽象工厂的Subject依赖ObserverConcreteObserver依赖Subject或者叫什么呢?楼主觉得呢?
解决方案三:

解决方案四:
dependonabstractions,donotdependonconcreteclasses这里有依赖,依赖的也是抽象而已
解决方案五:
提取的还不够高

时间: 2024-11-28 18:24:38

抽象工厂方法中的,客户端与抽象产品,客户端与抽象工厂的关系的相关文章

Java设计模式编程中的工厂方法模式和抽象工厂模式_java

工厂方法模式 动机 创建一个对象往往需要复杂的过程,所以不适合包含在一个复合工厂中,当有新的产品时,需要修改这个复合的工厂,不利于扩展. 而且,有些对象的创建可以需要用到复合工厂访问不到的信息,所以,定义一个工厂接口,通过实现这个接口来决定实例化那个产品,这就是工厂方法模式,让类的实例化推迟到子类中进行. 目的 1. 定义一个接口,让子类决定实例化哪个产品. 2. 通过通用接口创建对象. 实现 1. 产品接口和具体产品很好理解. 2. 工厂类提供一个工厂方法,返回一个产品对象.但是这个工厂方法是

简单工厂、工厂方法、抽象工厂、策略模式、策略与工厂的区别

[本文转自简单工厂.工厂方法.抽象工厂.策略模式.策略与工厂的区别] 结合简单示例和UML图,讲解工厂模式简单原理. 一.引子 话说十年前,有一个爆发户,他家有三辆汽车(Benz(奔驰).Bmw(宝马).Audi(奥迪)),还雇了司机为他开车.不过,爆发户坐车时总是这样:上Benz车后跟司机说"开奔驰车!",坐上Bmw后他说"开宝马车!",坐上 Audi后他说"开奥迪车!".你一定说:这人有病!直接说开车不就行了?!而当把这个爆发户的行为放到我们

设计模式之静态工厂、工厂方法和抽象工厂的联系与区别

解析: 开闭原则:对扩展开放,对修改封闭.静态工厂增加需要是修改源代码,对修改不封闭,不符合开闭原则. Simple Factory 简单工厂模式(静态工厂) 1)Simple Factory模式属于创建型模式 2)简单工厂模式是由一个工厂(注意是一个!)对象决定创建出哪一种产品类的实例(例如你到肯德基说你要鸡腿,要薯条,要饮料还是其他的,这时肯德基是一个工厂,客户端只需要点明自己要什么就行) 3)实现方式的实质:由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承自一个父类

gof 工厂方法模式-GOF中,关于工厂方法模式的劣势疑问

问题描述 GOF中,关于工厂方法模式的劣势疑问 A potential disadvantage of factory methods is that clients might have to subclass the Creator class just to create a particular ConcreteProduct object. Subclassing is fine when the client has to subclass the Creator class any

【设计模式系列】--工厂方法

在前面的博文,小编介绍了简单工厂方法,今天我们继续来学习设计模式的知识.今天我们来学习一下工厂方法,那么什么是工厂方法呢?工厂方法在实际项目中又是如何应用的呢?工厂方法模式中包含的角色又具有什么样的职责呢?工厂方法和简单工厂模式之间又有着怎样千丝万缕的联系呢?今天这篇博文,小编就围绕这几个问题进行讲解,希望对有需要的小伙伴有帮助,不足之处,还请小伙伴多多指教. 什么是工厂方法模式 工厂方法模式属于类的创建型模式又称为多态工厂模式,工厂方法模式的意义是定义一个创建产品对象的工作接口,将实际创建工作

Java设计模式编程之工厂方法模式的使用_java

定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类. 类型:创建类模式 类图: 工厂方法模式代码 interface IProduct { public void productMethod(); } class Product implements IProduct { public void productMethod() { System.out.println("产品"); } } interface IFactory { publ

我把Black_Cat与Walaqi等关于"设计模式"之"工厂方法&q

工厂方法中如何知道实体产品到底是什么产品呢? black_cat 发表于 2002-12-10 11:11虽然模式上说是为了避免客户端知道具体的实体产品.但如果修改了产品的接口,如何能让客户端知道新的接口呢?比如一个Garden工厂用Create方法创建了两个产品Flower,Glass,都属于抽象产品Plant,但Flower增加了接口Color,而Glass没有该接口,但有另一个接口EverGreenAble.那客户端还是必须根据具体产品来确定该如何工作,但现在客户端只知道是Plant类型,

艾伟_转载:.NET设计模式:工厂方法模式(Factory Method)

概述 在软件系统中,经常面临着"某个对象"的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口.如何应对这种变化?提供一种封装机制来隔离出"这个易变对象"的变化,从而保持系统中"其它依赖该对象的对象"不随着需求的改变而改变?这就是要说的Factory Method模式了. 意图 定义一个用户创建对象的接口,让子类决定实例化哪一个类.Factory Method使一个类的实例化延迟到其子类. 结构图 生活中

艾伟_转载:疑惑?改良? 从简单工厂到工厂方法

写在前面 最近一段时间在研究有关设计模式方面的文章,拜读了TerryLee以及吕震宇两位老师所写的设计模式方面的系列文章,收获颇丰,也让我对OOP,OOD有了新的理解和认识,不过在看到工厂方面的几篇文章时,却总有个地方想不通,望各位老师专家能替在下答疑解惑,以下是自己对工厂模式的一些理解以及提出的一种改良方案,不知道是否有人提出过类似的方案,如有雷同纯属巧合.有说得不对的地方还请批评指正.  从简单工厂说起 严格来讲简单工厂并不属于GOF的23个设计模式之一,但它之所以存在而被人们广泛认知的原因