问题标签 [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.
amazon-web-services - Amazon SQS:如何找到工作结束?
假设我有很多工作,每个工作都由许多工作应用程序处理的大量基本操作组成。
我为每个操作向工作人员发送一条消息,以便他们可以捕获这些消息,执行所需的操作,然后通过控制队列中的消息通知某些控制应用程序。
但是我怎么知道所有的操作都完成了呢?SQS 消息是无序的,所以我不能只发送“最后一个”消息。
asp.net-mvc - 对于数据繁重的 LOB 应用程序,Project Silk 类型的架构有多健壮?
Project Silk看起来很适合社交网络应用程序,在这些应用程序中,经常更新的数据流需要出现在仪表板样式的演示文稿中。
我想问一下这样的架构是否也适用于数据量大的典型 LOB 应用程序。目前,我们使用 WPF 或 Silverlight 进行富客户端演示(主/详细表单的选项卡、Office 功能区样式、拖放、网格、图表)。Project Silk 似乎为此类应用程序开辟了另一种选择。
我有几个问题:
此堆栈中使用的技术是否足够成熟,可以考虑供企业使用?
当前和即将推出的 JQuery UI 小部件的广度是否足以满足这些需求?
这种架构会在浏览器上以解释模式高效运行,而不是像本机应用程序那样充分利用 CPU 能力吗?
architectural-patterns - 管道和过滤器,需要澄清
关于管道和过滤器的几个问题。
在此示例中,如上图所示,实施时:
- 每个管道是否应该在单独的线程中运行?
- 每个过滤器是否应该在单独的线程中运行?
- 公平地说,Pump 只“知道”它看到的第一个 Pipe 而对世界其他地方一无所知吗?此外,是否可以公平地说每个组件“只知道”一个前后一个组件?
换句话说,过滤器将检查是否有数据准备好供其提取和处理,然后只有 1. 处理它,然后 2. 将其传递给下一个管道?
functional-programming - 如何在功能上处理来自外部系统的状态?
我最近接触了函数式编程,并且学会了几种以引用透明的方式处理某些副作用的方法:
- 用于可变状态的 State monad ,例如更新变量
- 用于 I/O的 IO monad,例如从控制台读取/写入到控制台
- 用于图形和输入设备事件等交互性的FRP
但是现在大多数“现实世界”应用程序都与外部系统(如 Web 服务、数据库等)交互,这些系统可以由多个用户同时修改,它们具有状态、长时间运行的操作等。所以情况并不那么简单与上述类别一样:向系统询问实体的状态或试图控制它的结果取决于其状态。此外,交互性也是一个要求:有一些用户可以任意点击的 GUI,也许我们还必须自动响应来自系统的变化。
通过最大化纯函数的好处来设计和实现这类应用程序的模式是什么?或者上述一些方法可以以我没有想到的方式应用于这个问题吗?该语言(比如 Java 或 Scala)并不强制要求 100% 的纯度,所以我对实践经验支持的实用解决方案感兴趣。
model-view-controller - 我的应用程序有多少层?
我对不同类型的架构进行了研究,但我仍然不太习惯在 3 层和 4 层之间进行选择。
什么构成了 4 层系统?
我的申请如下:
客户端基于使用 MVC 模式的 iOS iPhone 应用程序。
该服务器也基于使用 MVC 模式的 Ruby on Rails。(如果请求不是来自 iPhone,某些视图会以 HTML 格式呈现)
数据库是 MySQL2 Gem 访问的 MySQL。
客户端和服务器都从 Google 的 API 和其他网络服务访问网络服务。
我的系统架构是什么?
python - PySide 的 MVVM 模式
我一直在尝试找到一种使用 PySide 实现 MVVM 的方法,但一直没能做到。我认为应该有一种方法可以使用 QItemEditorFactory 从 ViewModels 创建视图,并且可以使用 QDataWidgetMapper 进行数据绑定。
您对如何使用 Qt 和 PySide 实现 MVVM 有任何想法吗?即使 C++ 中有一些资源,我也会尝试将它们翻译成 python。
谢谢。
wpf - MVVM 模式矛盾——架构与展示?
什么是表示层模式/表示模式?据我所知,MVVM 是一种架构模式,但我看到很多人、文章、博客将其称为表示模式。我很困惑。
好像有点矛盾。如果它是一种架构模式,那么它应该处理我所有的表示层、业务逻辑层和数据访问层,对吗?我被允许使用我的实体框架生成的数据模型作为模型。但是,如果它是一个演示模式,我猜它应该只处理演示,那么我不应该使用 EF 生成的数据模型作为模型,因为它将从表示层访问我的数据访问层.
任何人都可以解释一下吗?
design-patterns - 客户端-服务器应用程序中的会话外观
在 J2EE Pattern Session Façade - “Core J2EE Patterns - Best Practices and Design Strategies”一书中说:
使用 Session Façade 封装业务层组件并向远程客户端公开粗粒度服务。客户端访问会话外观而不是直接访问业务组件。
我想知道远程客户端意味着什么?因为我正在创建一个客户端服务器应用程序,其中客户端是一个 android 应用程序,而服务器是一个 java 服务器。会话外观是我需要向客户端(android 应用程序)公开它们两者之间通信所需的 API 吗?
谢谢。
c# - 工厂模式在 DDD 中应该放在哪里?
我已经争论了一段时间了,但仍然没有得出结论。虽然我看到的大多数示例在应用程序层中都有工厂代码,但我倾向于认为它应该在域层中。原因:有时我会在我的工厂完成初始验证,我希望所有对象的创建都通过。我希望此代码可用于我的对象的所有实例。有时一个操作需要参数信息,这感觉不自然地传递给构造函数。还有一些不那么重要的原因。
是否有理由说明这是一种不好的做法?这会打破其他模式吗?
sql - 存储纯文本(除了 HTML 数据)以提高可搜索性是否有好处?
为了简单起见,我打算存储一些由最终用户创建的基于 html 的内容。所以像下面这样的表
现在,HTML 来自 CKEditor。存储内容的纯文本版本是否是一种好习惯,以便全文搜索或任何搜索机制可以更轻松地找到内容?如下所示。