- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 Node.js 新手,有 C#.net 背景。在 .net 中编码时,我习惯于使用多种设计模式来组织我的代码、服务层、存储库等。当我需要添加跨越多个模型的逻辑时,我也可以使用服务来实现这一点。转向 Node.js 并查看示例和示例代码等。我没有看到大量使用服务层、存储库等。以下推荐的做法是什么:
代码组织和结构,特别是对于业务逻辑丰富的应用程序?
如何处理跨多个模型的逻辑?
有哪些好的教程和示例代码网站可以演示一些良好的项目和代码结构,其中包含项目(1 和(2)?
.net 提供了很多推荐的方法、实践、模式和编码结构技术,这些实际上都是非常好的推荐。类似 www.asp.net 的网站等为这些推荐提供了相当好的文章等等。
我无法找到一致的方法来查看 Node.js 示例。
最佳答案
和您一样,我也从 C#/.NET 转到 Node.js,发现我认为在 C# 中很好的实践在 Node.js 中不太有用。
领域驱动设计 (DDD) 在 Node.js 设置中并不经常讨论,因为 DDD 通常与面向对象设计相关,而 Javascript 不是 OO 语言(尽管 Javascript 具有基于原型(prototype)的继承,但很多 OO 模式)只是不能很好地翻译成 Javascript)。
相反,我们看到了更多的微服务架构,通过这些架构,我们将大型域分解为更小的、解耦的服务,这些服务可以很好地执行一项业务功能。 Node.js 非常适合此类轻量级 HTTP 服务。
我发现的有趣的事情是,在尝试了 DDD 上的微服务方法之后,我实际上发现它更容易实现,并且更容易沿着适当的路线保持事物的解耦。事实上,当我回到 C# 时,我发现自己也在那里应用了微服务方法。
就模式而言,抽象出持久性仍然是一个非常好的主意 - 类似于存储库模式的东西可以很好地从 OO 转换为 Node.js。至于将业务逻辑放在哪里,我发现有时需要在存储库上有一个“服务”或“应用程序”层,以便我可以访问多个存储库来编译复杂的响应。有时您不需要额外的抽象,因此只需将其放在需要的地方即可 - 不要过于热衷于业务逻辑层 - 这是 N 层思维,它会导致编写大量不必要的代码。当抽象变得有用时添加它们,而不是仅仅在需要时作为占位符 - 这是一种过早的优化。
当我们需要真正高级的业务逻辑时,我们可能需要协调多个微服务的操作。 Node.js 也是您的 friend - 您可以编写轻量级编排服务来使用 ESB 上的消息并对它们使用react。
关于javascript - C#.net 开发人员的 Node.js 最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42012070/
是否有用于手动测试的代码覆盖工具?比如我新写了30行代码,编译,然后运行,有什么办法可以快速验证这30行都运行了吗? 另外,后来,在我将代码 checkin 正式版本后,有什么方法可以验证测试部门在进
老实说,这是一个家庭作业问题,但我已经浪费了好几个小时,而且无法正确解决。它返回错误数量的结果或错误的数据: 我需要选择参与指导电影和/或在电影中表演的每个人以及他们所做的次数,如果至少 5 次。 有
我正在尝试测试 MacOS 的应用内购买。输入测试用户凭据后,App Store 提示:“当前收据无效或 ds 人员 ID 不匹配。”并且购买失败。 最佳答案 我尝试了很多方法来解决这个问题。 Get
我正在为 Jenkins 使用 ActiveDirectory 插件,因此用户必须使用他们的凭据登录到 Jenkins。然后用户在 Jenkins 中被称为 joe.doe,这很完美。 当同一个人 c
如何从 Infopath 人员/组选取器检索电子邮件地址?当我将人员/组选取器添加到 infopath 表单时,我只得到 3 个字段 DisplayName、AccountId、AccountType
在 Snow Leopard 中,可以在 iCal 事件中显示空闲/忙碌时间。我搜索了 CalStore.framework 的 header ,但找不到任何描述该字段的属性。如何检索日历事件的忙/闲
是否有人成功地从专门针对 SharePoint 2013 的新建或编辑表单中获取用户(个人或组)字段的值? 我已经尝试了通过搜索互联网找到的所有解决方案以及我自己能想到的所有解决方案,所有结果都为空白
所以我需要将一个 Twitter 帐户添加到 ABRecordRef 中。然而,最快的方法似乎是获取社交资料属性的多值引用,创建它的可变版本,查找它是否有 Twitter 条目,如果已经有,则创建
我正在尝试将使用 Tomcat(最初是 5.5,但可以与 7 一起使用)在 MyEclipse 中开发的应用程序部署到我们的演示服务器 (Sun Java Web Server 7)。不幸的是,所有设
我是一名优秀的程序员,十分优秀!