|
|
1
144
请注意,MessageDispatcher将根据具体情况决定是否以HTML或纯文本形式发送
总而言之,责任分为两类。消息配置在InvitationHTMLMessage/InvitationTextMessage类中完成,发送算法委托给dispatcher。这就是所谓的战略模式,你可以阅读更多 here |
|
|
2
15
也许你可以用has-a关系代替is-a关系?邀请可能包含一条消息,但它不一定需要“is-a”消息。可能会确认邀请f.e.,这与消息模型不符。 如果您需要了解更多信息,请搜索“组合与继承”。 |
|
|
3
10
如果我能引用菲尔的话 this thread ...
还有克里斯。。。。
认为他们都有有用的联系。迫不及待地想尝试一下特质或是一些混搭。。。 |
|
|
4
7
Symfony框架有一个 mixin plugin for this “设计模式”的答案是将共享功能抽象为单独的组件,并在运行时进行组合。考虑一种将邀请功能抽象为类的方法,该类以继承以外的方式与消息类关联。 |
|
|
5
4
http://php.net/manual/en/language.oop5.traits.php
|
|
|
6
3
decorator pattern 可能是合适的,但没有更多细节很难说。 |
|
|
7
3
那魔术师呢_ call(), _get(),\uu\u set()方法?我还没有测试过这个解决方案,但是如果创建一个multiherit类呢。子类中的受保护变量可以包含要继承的类数组。multi-interface类中的构造函数可以创建每个被继承类的实例,并将它们链接到私有属性,如_-ext。_-call()方法可以在_-ext数组中的每个类上使用方法_-exists()函数来定位要调用的正确方法__get()和_集合可用于定位内部属性,或者如果您的专家具有引用,则可以使子类和继承类的属性引用相同的数据。对象的多重继承对于使用这些对象的代码来说是透明的。此外,只要_ext数组按类名编制索引,内部对象就可以在需要时直接访问继承的对象。我已经设想过创建这个超级类,但还没有实现它,因为我觉得如果它能工作,可能会导致一些不同的坏编程习惯。 |
|
|
8
1
1) 您的邮件是否有对象 包含消息,例如正文、收件人、计划时间? 2) 您打算如何处理您的邀请对象?与电子邮件相比,它是否需要特别处理? 3) 如果是的话,它有什么特别之处? 4) 如果是这样,为什么邀请的消息类型需要进行不同的处理? 5) 如果您想发送欢迎消息或确认消息,该怎么办?它们也是新事物吗?
例如:我构建的一个系统有一个共享的基本消息对象,该对象被扩展为SMS、电子邮件和其他消息类型。然而:这些并没有进一步扩展-邀请消息只是通过电子邮件类型的消息发送的预定义文本。一个特定的邀请申请将涉及邀请的验证和其他要求。毕竟,您所要做的就是将消息X发送给收件人Y,这本身就是一个离散系统。 |
|
|
9
0
和Java一样的问题。尝试使用带有抽象函数的接口来解决该问题 |
|
|
10
0
PHP确实支持接口。这可能是一个很好的选择,取决于您的用例。 |
|
|
11
-1
因此,层次结构如下:
消息
我知道邀请并不是一种真正的信息,它更多的是一种信息功能。所以我不确定这是否是一个好的OO设计。 |