gpt4 book ai didi

Java 命令模式与 iPhone 委托(delegate)模式

转载 作者:搜寻专家 更新时间:2023-10-31 19:50:06 26 4
gpt4 key购买 nike

嗨我是一名java开发人员,最近我也开始从事iphone开发工作。我想知道 Java 的命令模式有点类似于 iphone 中的委托(delegate)模式,反之亦然,因为在两者中都有其他人为受让人工作。有人可以启发我吗?

最佳答案

严格来说,它们是不同的,但又是互补的。

命令模式 - 这是将操作/请求/ Action 封装为对象。尽管将操作封装为对象的一个​​常见原因是将其发送给委托(delegate),但您可能出于多种其他原因希望使用命令模式,例如创建撤消机制或编写审核日志。

Delegate pattern - 这是一个对象在另一个对象后面的阴影以支持它。它通常是一对一的关系。在 iPhone 中,一个窗口可能有一个窗口委托(delegate)。窗口可能会询问窗口委托(delegate)如何响应某些用户操作。如果不同的用户操作是独立的对象,那么它们可能是命令模式的一个示例,但这是与窗口委托(delegate)不同的想法。

根据我的理解(不可否认,这是非常少的),Cocoa 模型中的委托(delegate)不使用委托(delegate)者和委托(delegate)者之间的命令对象(尽管在 OO 中方法调用有时被称为“消息”,就好像它是一个实际的实体)。

这两个想法是互补的,经常一起使用,但它们是不同的想法。您可以使用没有委托(delegate)的命令模式和没有命令对象的委托(delegate)。


参见:

http://en.wikipedia.org/wiki/Command_pattern

http://en.wikipedia.org/wiki/Delegation_pattern

http://developer.apple.com/library/ios/#documentation/Cocoa/Conceptual/CocoaFundamentals/CommunicatingWithObjects/CommunicateWithObjects.html#//apple_ref/doc/uid/TP40002974-CH7-SW18

关于Java 命令模式与 iPhone 委托(delegate)模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4516165/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com