【问题标题】:Create an object outside a facade class, does it break facade pattern?在外观类之外创建一个对象,它会破坏外观模式吗?
【发布时间】:2010-07-06 13:54:18
【问题描述】:

在 HomeCADEngine 外观类中,我有一个方法“addRoom(room:Room)”,它会将这个房间添加到 ArrayList。但是当我们在外观类之外创建一个房间然后将其传递给 addRom() 方法时,它是否破坏了外观模式??

【问题讨论】:

    标签: design-patterns object break facade


    【解决方案1】:

    这取决于。如果Room 属于您的上下文(而不是隐藏在外观后面的另一个),那么这是一个合理的想法。如果Room 属于其他上下文,那么您可能可以使用工厂或翻译器从原始属性或系统中的对象构建其他系统使用的对象。

    【讨论】:

    • 你能解释一下吗,其他上下文是什么?我必须使用外观图案
    • 一个上下文是您的应用程序。另一个上下文是您正在为其编写外观的 CAD 系统。 Room 是否在您的系统或 CAD 中定义和使用?
    • 我的应用程序是简单的 HomeCAD。我创建了一些类(HomeCADEngine 门面、房间、项目、地板)。谢谢你帮助我
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-11
    • 2016-10-01
    • 2016-12-20
    相关资源
    最近更新 更多