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

php - 我使用的是哪种架构模式?

我通过 PHP 开发了 Web 应用程序,而没有使用任何框架。我的应用程序主要有两种类型的文件 - 前端和后端。第一种类型可能包含 HTML、PHP、CSS、JavaScript (jQuery) 和后端 - 只有 PHP。我有一个pg_db_connection与数据库建立连接的类和一个session创建用户的 Web 会话(php 的函数session_start())并维护一些变量,如“用户名”、users数据库表中的用户 ID 等。

该类pg_db_connection具有一个属性,该属性$link是从pg_connect(). 这个类也有一些函数,比如query($query, $b_result = false, &$affected_rows = null), insert($table, $values, $columns = null, &$affected_rows = null), begin(), commit(),rollback()等等。在每个前端文件的开头,我创建类型的对象session并执行:

会话类存储user_id, username和更多$_SESSION。需要连接到数据库,因为 Web 用户有权访问的文件存储在数据库中。如果我想在这个前端文件中加载任何动态数据,我会使用 jQuerypostload函数并调用一个后端文件。这个后端文件在大多数情况下包括pg_db_connection,执行一些数据库查询,如果还需要的话 - 对数据做更多的工作(用 HTML 标签包装,或者以某种方式格式化数组然后json_encode它),然后将 HTML 或 JSON 检索到前端文件。然后在 jquery 的 load 或 post 回调方法中,这个 HTML 被写入需要的地方,或者 JSON 以某种方式转换为 HTML 并再次写入 HTML 中的某个位置。

我想知道我是否使用任何已知的架构模式。或者哪种架构模式最接近所描述的方法?

0 投票
0 回答
117 浏览

javascript - VueJS中计算属性监控的实现

在 VueJS 文档中,提到了以下行为。

这里我们声明了一个计算属性 reversedMessage。我们提供的函数将用作属性的 getter 函数

vm.reversedMessage:

您可以打开控制台并自己使用示例 vm。vm.reversedMessage 的值始终依赖于 vm.message 的值。

您可以将数据绑定到模板中的计算属性,就像普通属性一样。Vue 知道 vm.reversedMessage 依赖于 vm.message,因此它会在 vm.message 更改时更新任何依赖于 vm.reversedMessage 的绑定。最好的部分是我们以声明方式创建了这种依赖关系:计算的 getter 函数没有副作用,这使得测试和推理变得容易。

从最后一段第 2 句中,我了解到 VueJS 库将监视“消息”变量的值,然后在“消息”更改时重新计算“reversedMessage”。

谁能从概念上解释我如何在 JS 中实现这一点?是否遵循任何特定的软件设计模式?我很想知道如何让 JS 运行时来理解函数所依赖的变量。如果我的计算属性使用多个变量怎么办?

将此类行为的任何示例编程到其他系统/库/框架中?

0 投票
1 回答
451 浏览

java - struts2 MVC框架中哪些文件专门负责Model、View和Controller?

我的 MVC 概念不清楚。

在我看来, .xml文件是用于建模的;.jsp文件用于查看.java文件用于控制。这实际上是代表MVC系统。

我有关于 MVC 公式的工作基本概念,但我不清楚哪些文件具体负责?

0 投票
2 回答
398 浏览

javascript - React JS - 这个程序是如何工作的?

我在 Codeacademy 上过 React.JS 课程。这个问题来自 React.JS 第二部分。我正在学习编程模式,但我不明白这种模式是如何工作的

代码:

第二部分:

当我更改 中的名称时<option>,程序会自动更改值并打印新的描述。但我不明白这个功能是如何工作的:

有人可以一步一步解释吗?

0 投票
2 回答
254 浏览

ios - ios中的同一个项目可以有多个架构模式吗

我们正在使用MVC作为我们的架构模式,并希望在项目的某些部分使用MVP或模式。VIPER在同一个项目中可以有多个架构模式吗?这是一个好习惯吗?

0 投票
2 回答
2075 浏览

java - Android Clean Architecture 中的登录流程

我希望使用 Clean Architecture 实现一个简单的 Firebase 身份验证 Android 应用程序,因此根据 Firebase 文档,可以检查用户是否已登录

所以我很困惑它应该把这个条件放在哪里,应该在 UseCase 还是在 Presenter 中,在同一个源对象的帮助下独立调用

就像是

所以像这样的条件,它们是否有资格作为业务逻辑?还是流逻辑?

0 投票
1 回答
71 浏览

design-patterns - 这代表什么设计模式/架构模式?

我为我最后一年的项目创建了一个 Connect 4 游戏,它既有多人游戏也有单人游戏。它使用蒙特卡洛树搜索与计算机对战。我正在做一份基于此的报告,并想知道这是什么设计模式/架构模式。

点击这里查看 UML 图

我怀疑它可能是模型-视图-控制器或外观的一种形式。

0 投票
2 回答
32277 浏览

c# - MediatR 何时以及为什么我应该使用它?

以前可能有人问过,但我什至在官方网站上都找不到为什么我应该使用 MediatR 以及它解决了哪些问题?

  • 是因为我可以在构造函数中传递单个对象而不是多个接口吗?

  • 它是 ServicesBus 等的替代品还是竞争对手...

  • 基本上有什么好处,它解决了什么问题

我想购买它,但我不清楚为什么要使用它。

非常感谢

0 投票
1 回答
41 浏览

messaging - 是否有任何基于拉取的标准消息传递协议?

有几种基于推送的消息传递标准(例如,MQTT、STORM)。是否有任何基于拉取的消息传递协议?

用例:

A 公司目前提供支持多个主题的 MQTT 端点。当事件发布到主题时,MQTT 服务器将事件推送给所有订阅者。

但是,A公司希望解决一些缺点:

  • 当一个新订阅者注册接收发布到某个主题的事件时,她希望接收曾经发布到该主题的所有消息。
  • 每当有一个“热门”主题时,即在短时间内向该主题发布大量事件时,将这些事件分派给已注册的订阅者可能会使订阅者不堪重负。因此,订阅者希望按照自己的节奏从主题中提取事件。

当前解决方案:

公司 A 公开了一个 HTTP 端点,该端点具有get-event检索事件的操作(例如,编号1034567为发布到以下 curl 调用中1034578命名的主题):some-hot-topic

问题:

而是构建这种一次性解决方案,其中公司 A 定义 URL 的格式和响应负载的格式,公司 A 可以使用任何已经定义这些的标准来解决问题(标准不必是基于 HTTP 的)。

我想到了一些事情(例如,Kafka Consumer REST APIRSS),它们在不同的上下文中解决了类似的问题,但似乎没有定义任何东西来服务于基于拉的事件通知协议的标准目的。

0 投票
0 回答
16 浏览

api - 在 HTML 中为每个选项卡选择提供聚合数据的最佳实践是什么?

我应该编写一个 API 来向前端提供数据。我有以下屏幕,按Shift/Day/Week/Month/6Months 过滤

虽然这完全是我的业务逻辑,但总的来说,我想知道为此类过滤器提供数据的最佳实践。
1)我应该在点击每个选项卡时为每个过滤器提供一个 API 吗?
使用这种方法,我将不得不根据过滤器每次执行 db 查询。
2) 或者,我是否应该一次性提供一个 API,其中包含所有带有过滤键的聚合数据?因此,从前端,客户端不会在每次点击时调用进一步的 API。
在这种情况下,我将不得不一次执行多个数据库查询并将数据提供给前端。

在此处输入图像描述

实现这一目标的最佳实践是什么?我知道这些都是建筑设计的一部分,我正在学习。需要有效的建议或有用的资源。