问题标签 [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 投票
4 回答
16202 浏览

session - 会话外观核心 J2EE 模式的优点和缺点是什么?

会话外观核心 J2EE 模式的优点和缺点是什么?

它背后的假设是什么?

这些假设在特定环境中是否有效?

0 投票
6 回答
21311 浏览

c++ - 用 C++ 示例解释外观模式?

我已经检查了维基百科文章,它似乎缺少代码示例的 c++ 版本。没有这个,我无法完全理解 Facade 模式,你能帮我用 C++ 解释一下吗?

0 投票
3 回答
476 浏览

c# - 维护站点类的最佳实践

我正在构建一个 Web 应用程序,它使用一个外部构建的类来处理该站点的大部分工作和规则。大多数页面都需要访问这个类来获取它需要显示的信息。过去我会将这样的类放在会话变量中,因此在需要时可以轻松访问它,而无需不断地重新实例化。

第一个问题,将此类填充到会话变量中是不是一个坏主意(它不是很大)?

第二个问题,如果将站点应用程序层类存储在会话中不是一个坏主意,那么有没有办法可以编写一个集中的方法来将类获取或存储到会话中?我不想在页面获取类之后使用一堆重复的代码页,在那里检查它,如果不是就创建等等。

0 投票
8 回答
23379 浏览

design-patterns - 立面与调解员

我一直在研究这两种模式之间的区别。

我知道外观封装了对子系统的访问,而中介封装了组件之间的交互。

我知道子系统组件不知道外观,而组件显然知道中介。

我目前正在使用外观来封装检索配置信息的方法,例如 App.Config、存储在 SQL 中的用户设置、程序集信息等,以及用于在不同窗体之间导航的中介。

然而,大多数网站都指出中介“增加了功能”。他们这是什么意思?中介如何添加功能?

0 投票
2 回答
1351 浏览

design-patterns - DataAdapter 使用外观模式还是适配器模式。

当我看到对象Update()Fill()方法时DataAdapter,我总是想是否DataAdapter使用Facade Pattern?

看起来它会在幕后为我们创建Command对象、Connection对象并执行它。

或者DataAdapter使用适配器模式,因为它是DatasetCommand对象之间的适配器,连接对象?

0 投票
2 回答
860 浏览

asp.net - Creating a Facade over Membership Provider

I am using the Membership Provider in ASP.NET MVC and for most data access I use nHibernate and a repository pattern. Do you recommend using a Facade over the Membership Provider so I can create a repository and make it operate a bit more inline with the rest of my entity model? I also have added additional functionality like the ability to add functions to a role and creating the facade would make the classes all a bit nicer.

What have other people done with Membership Provider?

0 投票
3 回答
1068 浏览

python - 如何在python中隐藏__methods__?

我只是想知道,如何隐藏特殊

python *中的方法?特别是我正在使用带有制表符完成功能的交互式 python 解释器,我只想显示我的模块公开的方法......

谢谢,

/我的/

*(至少来自使用 python shell 的用户)


现在看起来像这样:

我希望它看起来像:

0 投票
1 回答
696 浏览

java - 在使用外观会话 bean 时,我们为什么还要使用业务会话 bean?

当使用外观设计模式来构建应用程序的业务 EJB 层时,我们为什么还要使用会话 bean 来实现实际的业务逻辑?不只是使用普通的 Java 类(如果不需要容器管理注入)是否有特定的原因?普通 Java 类与会话 bean 的性能如何,绕过业务会话 bean 不会提高性能吗?

总结一下这两种选择:

  1. 客户端 -> 外观 -> 会话 Bean
  2. 客户端 -> 外观 -> 常规 JAVA 类

为什么使用 1 而不是 2?

0 投票
3 回答
1042 浏览

web-services - “门面网络服务”的监控和日志记录策略?

我正在开发“外观网络服务”,我需要重新考虑其中的一部分。

上下文 - 我的 web 服务(我们称之为“FacadeWebservice”)是一个内部 web 服务,用于隐藏我的系统中其他 web 服务的复杂性:

  • 我的FacadeWebservice调用ExternalWebserviceAExternalWebserviceB并且很快需要调用ExternalWebserviceC
  • ExternalWebserviceAExternalWebserviceBExternalWebserviceC是外部网络服务;它们可能会发生变化和停机。

复杂性越来越高,我需要重新考虑监控 FacadeWebservice 和外部 Web 服务的方式。我需要:

  • 我的应用程序状态的完整视图(调用次数、发送的错误代码)
  • 了解外部 Web 服务的情况(外部 Web 服务停机,我的 Web 服务收到的响应代码 - 例如,其中一个经常出现“技术错误/只读”一段时间)
  • 基本上,一个显示整体状态的简单视图/工具。
  • 几乎涵盖了服务可用性(所以我不需要像 Nagios 这样的应用程序),我想知道应用程序级别发生了什么。

我正在考虑在我的 FacadeWebservice 中使用 JMX——这可以为我提供一些有趣的图表和统计数据

这是要走的路吗?或者一个好的日志记录策略足以完成这项任务(即使外部更改是我问题的很大一部分)?

关于这个主题有什么建议或经验吗?

0 投票
1 回答
1991 浏览

c# - 检索应用程序启动期间添加的应用程序设置时出现问题

我似乎遇到了一个奇怪的问题,在我的 Application_Start() 的 global.asax 中,我有一些东西会进入我的数据库,从名称/值表中获取我的所有应用程序设置,然后将它们放入通过申请Application.Add(name,value)

我在另一个项目中有一个“应用程序外观”,我的服务层、数据层等使用它来获取我需要做的各种设置。

在我的数据库中,我有几个条目:

所以在我的方法中,我开始从数据库中获取这些值,并将它们放入我的应用程序中:

这就是我稍后从应用程序调用值的方式:

这就是事情变得奇怪的地方。

如果我从我的 web 层调用应用程序外观:

我一无所获(是的,我在 get 方法中只尝试过 ConfigurationManager!)。

但这是奇怪的事情......

如果我手动将应用程序密钥放入我的 web.config 文件中......

然后在我的 ApplicationFacade 类中构建一个与 Putz 类似的属性,当我在视图 ( <%= ApplicationFacade.Putz %>) 中进行调用时,我会mash返回 ' '。

所以,我知道我的 ApplicationFacade 工作正常。所以也许这是我在 application_start() 中的代码?

好吧,如果我把这个放在我的视图<%=Application["WebServiceUsername"]%>中,myUsername就会返回。

是什么赋予了?!

回答