问题标签 [architectural-patterns]

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 投票
2 回答
1513 浏览

architecture - 在多层架构中通过层传递业务实体

目前,我正在开发一个利用多层架构的项目,如应用程序架构指南 2.0中所述,有 5 层(DAL、BLL、外观、表示层和公共层)。
这里我们有一个业务逻辑层,它由业务组件和业务实体(它们是使用 O/R 映射器生成的实体)组成,我们经常需要在表示层中使用这些实体来绑定和向用户呈现数据,所以我们将这些实体冒泡通过其他层直到表示层。

现在的问题是:
这是一个正确的方法吗?(根据定义,我知道如果我们应该共享这些,我们应该将它们放在公共层中,以便我们可以在所有层中使用它们)。我们不应该将这些实体移动到公共层吗?或者我们应该定义诸如数据传输对象(DTO)之类的东西并通过层传递它们(这当然看起来是多余的)。

任何澄清将不胜感激。

0 投票
3 回答
111 浏览

google-app-engine - 如何构建云应用程序并保持可移植性不变?

请查看我之前问题的答案和评论,以便更好地了解我的情况。如果我在 AppEngine 上使用 Google DataStore,我的应用程序将紧密耦合,因此可移植性松散。

我正在使用 Android,并将使用将驻留在云中的后端。我需要客户端-云通信。如何构建维护可移植性的应用程序。我应该使用什么设计模式、架构模式?

我应该使用代理模式吗?我很困惑。

0 投票
1 回答
177 浏览

.net - 我需要下载企业开发参考架构

我想获得作为模式和实践一部分的资产:企业开发参考架构:发布:主页

该版本曾经在 GotDot.net - http://www.gotdotnet.com/workspaces/releases/viewuploads.aspx?id=9c29a963-594e-4e7a-9c45-576198df8058

我在http://weblogs.asp.net/hernandl/网站上没有找到任何资源。

Microsoft 有一个关于此主题的 KB:http: //support.microsoft.com/kb/872836,但大多数链接无处可寻。

Retired patterns & Practices 下载似乎也没有,但也许我错过了它。 http://msdn.microsoft.com/en-us/library/ff921344.aspx

我有点假设它被称为 Web 服务软件工厂,可以在此处下载:http ://servicefactory.codeplex.com/releases/view/9600 ,因为该版本称为 Web 服务软件工厂 v2(已弃用),但是肯定会对此进行一些验证。

0 投票
1 回答
376 浏览

c# - Quartz 引擎作为 Winforms,使用 Sel 托管 HTTP 服务

我目前有一个运行quartz .net 引擎的winforms 应用程序,并且我在应用程序内有一个自托管HTTP 引擎。

我从这里得到了我的 Windows 服务示例:http: //www.codeproject.com/Articles/14353/Creating-a-Basic-Windows-Service-in-C

我的石英大致基于此处的示例:http: //quartznet.sourceforge.net/tutorial/index.html

我如何让托管 Quartz、Windows 服务、Winforms 元素和自托管 HTTP 一起但独立地运行。即我将需要访问不同线程上的东西。

即我想调用quartz 从我的表单、Windows 服务和网络主机中获取当前工作的列表。

0 投票
1 回答
407 浏览

asp.net - ASP.NET MVC 是 MVC 架构模式的错误实现吗?

背景: 我一直在思考这个问题,但我没有找到任何好的答案。在使用 WebForms 并定期使用 MVC 2,3 和 4 工作一段时间后,我仍然不明白 ASP.NET MVC 如何声称是 MVC 模式的实现。

我学到的关于 MVC(模式)的第一件事是它是循环的——这意味着视图使用更新模型的控制器来更新视图——并且这样循环下去。自然地与圈子中的用户一起输入新的指令/数据等。

但是,ASP.NET MVC 并不是真正的循环实现,这在 W3CSchools 下面的彩色图像中得到了很好的展示。我在实践中也看到了这种情况,其中视图具有模型的实例,并且模型是从控制器更新的,但控制器还负责在模型更新后更新视图。

问题: ASP.NET MVC 是否由有意识的错误实现,是否应该仅被视为专有解释,还是我误解了 MVC 模式的规则?

ASP.NET MVC MVC架构模式

0 投票
2 回答
3625 浏览

entity-framework - CQRS 是 CRUD 的替代品吗?

CQRS 和 CRUD 有什么不同,我可以在这两种情况下使用 UnitOfWork 和 Repository 模式吗?

如果我在您推荐我的实体之间存在复杂的关系,为什么?

CQRS 模式http ://martinfowler.com/bliki/CQRS.html
CRUDhttp ://en.wikipedia.org/wiki/Create,_read,_update_and_delete

任何帮助将不胜感激。

0 投票
3 回答
4838 浏览

android - Android 架构模式

我刚刚开始进行 android 开发,我正在尝试开发我的第一个应用程序,我实际上将要发布它。我有 Java 编程背景和一些模式的知识,但是我不知道在开发 android 应用程序时应该坚持哪些模式。还有在哪里放置线程。我正在开发一个应用程序,它不断地通过 PHP 脚本从远程数据库加载数据并将它们显示在 UI 上。我将一个应用程序分为几层——表示层、领域层/服务层和数据源层。在它们之间,我创建了门面来访问下面层的服务。我真的不知道我应该坚持这个结构还是根据其他一些模式完全重建这个应用程序。最好在开发之初就发现它,而不是在以后被迫重建整个应用程序。

0 投票
1 回答
107 浏览

ios - 我应该在单独的 UIView 类中还是在 UIViewController 中创建视图(包括 UIButton、UILabel 等)?

我有一个UIViewController说 viewControllerA 包含一些视图元素UIButton,例如UILabel等。现在我的问题是我应该在单独的UIView类中创建这些视图元素然后添加UIViewController,还是应该直接在UIViewController. 根据 MVC,在单独的UIView类中创建视图元素然后将其添加到中是否合适UIViewController

0 投票
2 回答
9066 浏览

javascript - Knockout.js 中的“模型”和“视图模型”

在 MVC 中,“模型”只是数据的代码表示(例如,在 ASP.NET MVC 中,它是一个具有相应字段的类)。

然而,在 Knockout(使用 MVVM)中,我看到带有字段的对象称为“ViewModel”。来自官方 KO 文档:

模型:您的应用程序存储的数据。此数据代表您的业务领域中的对象和操作(例如,可以执行汇款的银行账户)并且独立于任何 UI。使用 KO 时,您通常会通过 Ajax 调用一些服务器端代码来读取和写入这些存储的模型数据。

视图模型:UI 上数据和操作的纯代码表示。例如,如果您正在实现一个列表编辑器,您的视图模型将是一个包含项目列表的对象,并公开添加和删除项目的方法。

从示例中可以看出,ViewModel 是具有字段的对象,用于保存数据,这通常由 MVC 中的 Model 完成:

所以我在这里有点迷路了。Knockout.js 域中的“模型”和“视图模型”到底是什么意思?

0 投票
2 回答
6012 浏览

architectural-patterns - 分层和管道过滤器

我有点困惑应该在哪些情况下使用这些模式,因为从某种意义上说,它们似乎与我相似?

我理解分层是在系统复杂的情况下使用的,可以按照层次来划分,所以每一层都有不同层次的功能,使用较低层次的功能,同时将其功能暴露给较高层次等级。

另一方面,Pipe-and-Filter 是基于处理数据的独立组件,并且可以通过管道连接,因此它们构成一个执行完整算法的整体。

但是如果层次结构不存在,那么模块的顺序是否可以改变?

一个让我困惑的例子是编译器。这是一个管道和过滤器架构的例子,但是如果我没记错的话,一些模块的顺序是相关的?

一些澄清事情的例子会很好,以消除我的困惑。提前致谢...