问题标签 [facade]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
1830 浏览

c++ - 在 C++ 中将临时对象作为非常量引用传递

我有以下代码,例如 dec_proxy 尝试反转增量运算符对在复杂函数调用 foo 中执行的类型的影响 - 顺便说一句,我无法更改其接口。

问题是,对于我想使用 dec_proxy 的各种类型,我目前需要创建一个专门的 dec_proxy 实例——这似乎是一种非常混乱和有限的方法。

我的问题是:将这些短暂的临时变量作为非常量引用参数传递的正确方法是什么?

0 投票
2 回答
2916 浏览

design-patterns - Facade 和 Repository 模式:它们应该是 Singleton 吗?

我必须设计一些存储库来处理 CRUD 操作。我会将所有这些 repos 放在一个 Facade 中。

这个 Facade 应该是 Singleton 吗?

一个例子:

FacadeLibrary [单例?]

- 书库| 客户资料库 | 租赁存储库

或者,存储库应该是单例?

或者两者都不是?

0 投票
3 回答
140 浏览

c# - 试图弄清楚这段代码是否通过使用 Singleton 创造了任何好处

我正在做一个项目,其中一个共同开发人员(和以前的开发人员)对几乎每个内部有很多方法调用的类页面使用单例/外观,但实际上并没有维护数据。

例如:

现在,我对命名约定以及他们将 Singelton 与 Facade 放在同一个类中以及 Facade 并不是真正的 Facade 的事实存在某些问题。(但那是完全不同的对话)。

所以我的问题是这是否真的有好处。开发人员可以解释的最好的一点是,它对内存管理更好,因为您不需要不断地创建和处置对象。

我们的应用程序不是企业级应用程序,我们没有内存问题。任何时候网站速度都很慢,这实际上是由于数据库而不是代码。

谢谢你的帮助。我是一个喜欢知道为什么要让自己成为更好的开发者的开发者。由于我无法从开发人员那里得到有意义的话,所以我正在与你们联系。

谢谢,乍得

更新 感谢下面的评论,我知道状态是一个严重的问题,因为它有可能成为一个巨大的安全漏洞。在内存管理、速度等方面,在单例中使用此代码有什么好处吗?或者每次我需要它时实例化 FooFacade 会更容易吗?

0 投票
1 回答
345 浏览

java - 使用 Facade 模式的 Java 结构更改

我正在尝试通过从项目中删除依赖项并将代码移动到现有 API 来重构 Java 项目中的一些特定 GUI 代码,我们称之为项目 A。我有另一个项目需要基本相同的功能/界面,我想在另一个项目中重用这些功能。

我在 GoF 的设计模式一书中读到了外观设计模式,并认为它可能适用于此。

在阅读 Facade 模式之前,我尝试编写一个名为 IMessagePasser 的接口,它只是用接口方法替换任何项目特定的代码,作为每个客户端实现的合同,例如使用 ProjectAMessagePasser。这似乎处理了 Facade 的一半,允许将 GUI 代码移动到 API。

我想下一步是对项目 A 做同样的事情,通过在 ProjectAMessagePasser 中添加更多方法来替换 GUI 依赖项,以便基本上弄清楚 ProjectBMessagePasser 和 GUI 代码之间的必要通信。

我对大规模代码重组没有很多经验,但这一切看起来合理吗?如果不先进行所有更改就很难说清楚,如果有更好的方法可以做到这一点,我不想浪费大量时间以一种方式进行。

0 投票
3 回答
774 浏览

java - 是否有任何现有的 Java 缓存外观?

我正准备开始研究最终将运行分布式的应用程序的性能,但目前处于 [greenfield] 开发中。

我希望能够在不选择或提交特定库的情况下引入缓存,所以我想知道是否已经存在一个缓存外观库(类似于 slf4j 用于日志记录),这将允许我在以后的日期。

0 投票
1 回答
1978 浏览

jpa - 执行 getFacade().create(current) 时出现 NullPointerException

我的 PujaController.java:

}

我的 SubastaController.java:

}

嗨,尝试学习一些 JSF,EntityManager API,我被困在这里:当 pujar() 执行时,subasta 成功更新,然后执行 pujaController 中的 creaPuja(current)。creaPuja(current) 直到 getFacade().create(current); 执行并给我一个 NullPointerException。创建当前对象并设置密钥。我找不到获取对实体管理器的引用以成功创建 puja 的方法。我还包括 Facade java 文件。如果你能提供一些代码来解释这个问题会很棒!!!

pujaFacade.java:

}

abstractFacade.java:

}

这是例外:

是的,getFacade() 为空。我的问题是如何将当前对象移动或分配给 getFacade()。有一个 PujaFacade 类型的成员 ejbFacade,但我需要 ejbFacade 获取当前(Puja 对象)的值,因此 getFacade 不会为空。谢谢 ...

0 投票
2 回答
840 浏览

c# - 实现子系统通信设计模式

我正在为以下内容寻找合适的设计模式:

我有以下系统结构:

MainApplication 初始化每个子系统的地方,

每个子系统应该能够相互通信。

在每个子系统中,我如何从另一个子系统调用方法?例如在s1

立面设计模式可以在这里工作吗?如果是这样,它将如何实施?如果不是这种情况应该使用哪种设计模式?

0 投票
3 回答
2436 浏览

python - Python创建自己的字典子集的字典视图

正如 SO 上关于该主题的许多问题所证明的那样,取一本字典是一项非常常见的任务,有一个相当不错的解决方案:

但这会创建一个具有自己映射的新字典。对于许多操作,最好只有原始字典的不可变视图(即它不支持视图上的分配或删除操作)。实现这样的类型可能很容易,但是本地实用程序类的扩散并不好。

所以,我的问题是:是否有一种内置的方式来获得这样的“子集视图”?或者是否有提供此类实用程序的良好实现的第三方库(最好通过 PyPi 获得)?

0 投票
2 回答
2694 浏览

java - 外观模式和管理器类

http://developer.android.com/guide/basics/what-is-android.html 请参阅 Android 架构。

我们是否可以考虑不同的管理器,例如不同子系统的外观对象。例如,我们可以将资源管理器视为所有资源子系统的外观对象吗?

或者,班级的经理名称可能有不同的目的?

0 投票
1 回答
221 浏览

.net - 包装 XMLSerializer

我希望将 XMLSerializer 放在我的“外观”类后面,这样用户就不必向构造函数提供类型信息。但是这样做是有问题的。考虑这个类:

问题是这个类的用户不能在没有首先使用 Serialize 的情况下使用 Deserialize,因为 XMLSerializer 实例是在 Serialize 中创建的并且是共享的。但是在没有这个实例的情况下使用 Deserialize 只会返回 Nothing。这个问题能解决吗?