【发布时间】:2019-01-06 04:12:49
【问题描述】:
我正在学习编程模式,在最后的任务中,我们被要求建立一个“在线商店”。
我在考虑如何为User 建模,它可以是Admin 或Customer。
我考虑了策略模式来为每个人 User 建模他们的特定行为。
到目前为止,他们没有分享任何行为,所以Admin 不能addToCart 和Customer 不能registerNewProduct。
但是,随着系统的发展,它们可以共享行为/方法!
此外,User 不会在运行时更改它的类型。即,一旦您以客户身份登录,您将无法以管理员身份重新登录。
即使他们共享seeProductList 之类的行为,这也可以通过良好的继承来实现,对吧?
我应该使用策略、继承还是推荐其他模式?
如果您需要更多信息,请告诉我! :)
提前致谢。
【问题讨论】:
标签: java inheritance design-patterns polymorphism strategy-pattern