问题标签 [design-decisions]

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 回答
415 浏览

azure - Azure 应用程序 - 分布式体系结构 - 1 个 API 层与 2 个 API 层 - 设计决策

背景 完成了 Azure 应用服务中的 API 应用和 ASP.NET 入门教程 ( https://azure.microsoft.com/en-gb/documentation/articles/app-service-api-dotnet-get-started/ ),我们今天提出了一个架构问题,围绕将待办事项列表应用程序 API 层拆分为中间层 API 应用程序和数据层 API 应用程序的设计决策。

ToDoList应用程序架构

在使用分布式架构构建应用程序时,应注意哪些事项以了解何时应在 API 层中发生这种类型的分离?

问这个问题的另一种方式是在构建应用程序时拥有单独的中间层 API 层和数据层 API 应用程序的优缺点是什么?

其他问题 我读过Web 应用程序架构:1 或 n API 问题(请参阅下面的链接),虽然很有见地,但与我们提出的问题略有不同。我们说的是一个单一的域,它具有用于中间层(逻辑)和数据层的单独 API 层。

Web 应用架构:1 或 n API

0 投票
1 回答
373 浏览

scala - 为什么你不能在 scala 中创建一个没有 getter 的 setter?

我在Scala 中发现:不能在没有 getter 的情况下编写 setter?没有getter就无法创建setter:

对简单变量 x = e 赋值的解释取决于 x 的定义。如果 x 表示可变变量,则赋值将 x 的当前值更改为计算表达式 e 的结果。e 的类型应该符合 x 的类型。 如果 x 是在某个模板中定义的无参数函数,并且同一模板包含一个 setter 函数 x_= 作为成员,则赋值 x = e 被解释为该 setter 函数的调用 x_=(e )。 类似地,对无参数函数 x 的赋值 fx = e 被解释为调用 f.x_=(e)。赋值 f(args) = e 在 '=' 运算符左侧具有函数应用程序被解释为 f.update(args, e ) ,即调用由 f 定义的更新函数。

因此,不允许没有 getter 的 setter 是一个设计决定。但为什么?是更难实施还是根本不可能做到?

我确实有一个有效的用例,将它用作(有些复杂的)设置器,不使用这种语法糖会破坏项目中任何地方的相同语法。

0 投票
1 回答
131 浏览

html - CSS代码结构决定

我目前正在为某个网站制作标题。此标头包含两种不同的设计:

浮动/水平标题:

居中的标题:

当浏览器宽度小于某个断点值时,应使用居中的标题。否则为水平标题。这可以通过 CSS 来实现media-queries。我的问题是对于header.css文件更好的代码组织是什么:

  1. 仅将两种设计( , 等)的代码交集font-familycontainer-width: 100%两个媒体查询一起使用。

伪代码:

  1. 始终使用居中的标题 +media-query覆盖必要的部分:

伪代码:

我的问题是这两种 CSS 结构的优缺点什么?代码重复怎么样。第一个总是使用 a来显示任何有用的东西。第二个需要覆盖一些第一个居中的标题功能。media-query

我希望这不会被关闭,因为它太主观了。我只问优点/缺点而不是选择什么设计或哪个更好......

0 投票
2 回答
37 浏览

if-statement - Java新手卡在Java中的决策制定

我创建了一个名为 Bicycle 的类,现在我想将自行车的档位限制为 6。大于 6 的值会出错并显示消息:

System.out.println“错误...!!请输入一个介于 1-6 之间的数字”。

有人可以告诉我需要做什么才能在下面提到的程序中获得所需的结果吗?对于Java中的决策,我需要在哪里声明条件以便执行?

0 投票
1 回答
38 浏览

git - Git 分支和本地更改

如果不提交更改或存储它们,我们就无法在 Git 中切换分支。这背后的大局是什么?为什么 Linus 在设计 Git 时采用这种方法?

如果切换分支导致跨分支出现本地更改,那么分支的意义何在,因为它们被期望单独工作?

0 投票
1 回答
1057 浏览

postgresql - 多租户与单租户?

我即将使用 Rail 和 Postgres 构建一个 SAAS 产品。我想知道我是否应该遵循架构级别、基于子域的多租户或单租户应用程序是否足够好架构?我的要求在客户端之间没有数据的可靠性,因此基于模式的多租户架构对我来说似乎是正确的。任何人都可以通过相关解释进一步解释为什么它是好还是坏?

0 投票
1 回答
34 浏览

java - 验证带小数的值是否在定义范围内的最佳方法是什么

我有一个定义了阈值的文件,这些阈值用于帮助做出决定。

值如下所示:

条件:

如果要检查的值类似于 0.2500000001,则它介于 0.25 和 0.26 之间。所以我问,确定一个值是否在一定范围内而没有空白的最佳方法是什么?

我应该为精度添加一个参数并将此精度应用于最小值和最大值吗?我不想用像 0.259999999 这样的值来配置文件。

0 投票
0 回答
119 浏览

java - 为什么当 Integer 对象在 Java 中为 null 时,将 Integer 对象与原始 int 进行比较会引发空指针异常

为什么下面的代码会抛出空指针异常?我希望等价完全是错误的。有人能解释一下幕后发生的事情以及这个设计决定的原因吗?

0 投票
0 回答
802 浏览

c# - 如何让守门员在 Unity 3D 中跟随足球

我是 Unity3D 游戏开发的新手。我正在 Unity3D 中创建一个点球大战游戏,并且我正在使用 C# 编写脚本。我已经创建了所有的基本功能,比如踢球,添加了球员的 3D 对象,现在我正在制作守门员动画来阻挡足球。我使用 mixamo 应用了守门员动画。但我不知道什么是让守门员在正确的时刻向足球方向俯冲的最佳方法。

目前我正在检查足球和守门员之间的位移,FixedUpdate()如下面的示例代码所示,在特定位移处,我根据位移在左或右方向启动守门员的动画。

0 投票
1 回答
30 浏览

oop - 重载具有不同类型列表/数组的方法。这是一个好习惯吗?

我在businessservice中有一个方法如下,

现在的要求是发送 id 列表,那么我应该修改现有方法还是可以重载另一个方法和 id 列表?像下面?

哪一个是设计角度的好习惯?或者那根本不重要?