设计模式 - 立面

时间:2012-11-20 11:51:07

标签: design-patterns facade oop

我被要求为在线商务系统(亚马逊,Play.com等)制作基本的设计模式,我选择专注于Facade模式,因为我觉得这种模式主要用于整个系统。这就是我到目前为止所做的:

系统操作:

  • 订购产品

  • 库存/可用性(检查产品库存)

  • 身份验证(检查用户是否已登录/注册)

  • 发货(发送产品名称/客户详情以便发货)

建议的“Facade Pattern”将由用户工作,只需要查看/知道order_product函数,因此其他组件是从这一个动作“触发”的。

我的问题是,对于这种类型的系统,这是一个好用的设计模式吗?此外,操作,任何人都可以想到购买产品可能需要的任何其他操作 - 这就是我能想到的所有内容。

希望有人可以提供帮助:)

1 个答案:

答案 0 :(得分:0)

嗯,Facade通常只与提供大量遗留代码或库的简单接口相关。它很少用于创建新的基础代码,除非您考虑“您的类使用库列表和地图等类库”。

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

  

“Facade是一个为a提供简化界面的对象   更大的代码体,例如类库“

对于您描述的任务,您可能会使用诸如Mediator之类的模式(在某些情况下可被视为外观),模型/控制器/查看器,责任链(用于安全性),Memento(用于保存)以及可能构建器(用于以多种方式显示您的购买:HTML,PDF发票,电子邮件......)。