在HomeCADEngine门面类中,我有一个方法“addRoom(room:Room)”,它会将这个房间添加到ArrayList中。但是当我们在facade类之外创建一个房间然后将它传递给addRom()方法时它是否会打破外观模式?
非常感谢
答案 0 :(得分:1)
这取决于,模式只是改进代码的指南。在这种情况下,如果您在Facade中创建Room并且除了Facite类之外的任何其他类都无法访问Room类,那么它会更准确,即使是创建Room的新实例也是如此。
重要的是,Facade模式的目的是封装所有对其他类的接受,并且对它们的每次访问都必须通过facade类。