小编Jai*_*cap的帖子

观看模板文件并将它们复制到 dist/ 文件夹

我在我的项目中使用打字稿,我可以成功地观看 + 编译 .ts 文件并将它们输出到dist文件夹。

这是scripts我的一部分package.json

"start": "npm run build && npm run watch",
    "build": "npm run build-ts && npm run tslint",
    "test": "cross-env NODE_ENV=test jest --watch",
    "watch": "concurrently -k -p \"[{name}]\" -n \"Typescript,Node\" -c \"cyan.bold,green.bold\" \"npm run watch-ts\" \"npm run serve\"",
    "serve": "nodemon dist/server.js",
    "build-ts": "tsc",
    "watch-ts": "tsc -w",
    "tslint": "tslint -c tslint.json -p tsconfig.json"
Run Code Online (Sandbox Code Playgroud)

问题是我想使用 js 模板引擎(nunjucks),我需要查看文件views夹中的视图文件并将它们移动到dist文件夹中。

  • 有没有办法只使用npm scriptsor nodejs
  • 还是我需要使用其他工具,例如gulpwebpack …

javascript node.js typescript

5
推荐指数
1
解决办法
2895
查看次数

Simple Injector:如何将事件处理程序实例注册到事件调度程序

我有一个界面.

// Assembly: Common
public interface IEventHandler<TEvent> where TEvent : IDomainEvent
{
    void HandleEvent(TEvent theEvent);
}

// Assembly: Common
public interface IDomainEvent
{
}

// Assembly: Common
public interface IEventDispatcher
{
    void Register(IEventHandler<IDomainEvent> handler);
    void Dispatch(IDomainEvent theEvent);
}

// Assembly: Membership
public sealed class MemberRegistered : IDomainEvent
{
    // event properties
}
Run Code Online (Sandbox Code Playgroud)

然后在我的ASP MVC 5项目中,我有事件的事件处理程序.

public sealed class MemberRegisteredHandler : IEventHandler<MemberRegistered>
    {
        public MemberRegisteredHandler(ApplicationUserManager userManager)
        {
            this.userManager = userManager;
        }

        private ApplicationUserManager userManager;

        public void HandleEvent(MemberRegistered theEvent)
        {
            User user …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc domain-driven-design event-handling publish-subscribe simple-injector

4
推荐指数
1
解决办法
635
查看次数

实施DDD(红皮书):为什么他将协作者作为价值对象?

我和Vaughn Vernon的红皮书有关.

在协作有界上下文中,他将作者,成员,参与者,创建者等作为值对象,其中字段与它们所绑定的实体内联存储.

假设你做一个有一个Creator的讨论,那么Creator(id,name,email)的字段将存储在同一个表中(tbl_discussions).

论坛也是如此.(见下面的架构)

DROP DATABASE IF EXISTS iddd_collaboration;
CREATE DATABASE iddd_collaboration;
USE iddd_collaboration;
SET FOREIGN_KEY_CHECKS=0;

CREATE TABLE `tbl_dispatcher_last_event` (
    `event_id` bigint(20) NOT NULL,
    PRIMARY KEY (`event_id`)
) ENGINE=InnoDB;

CREATE TABLE `tbl_es_event_store` (
    `event_id` bigint(20) NOT NULL auto_increment,
    `event_body` text NOT NULL,
    `event_type` varchar(250) NOT NULL,
    `stream_name` varchar(250) NOT NULL,
    `stream_version` int(11) NOT NULL,
    KEY (`stream_name`),
    UNIQUE KEY (`stream_name`, `stream_version`),
    PRIMARY KEY (`event_id`)
) ENGINE=InnoDB;

CREATE TABLE `tbl_vw_calendar` (
    `calendar_id` varchar(36) NOT NULL,
    `description` varchar(500),
    `name` varchar(100) NOT NULL, …
Run Code Online (Sandbox Code Playgroud)

domain-driven-design

4
推荐指数
1
解决办法
561
查看次数

具有节点通知器的电子显示窗口10通知

我正在尝试创建一个简单的应用程序,它应该在单击按钮时显示通知.问题是通知没有显示,但是console.logs正在显示.通知应该在开发模式下工作吗?(意思是刚刚运行electron .,我不需要构建和安装应用程序)

Windows操作系统:

  • 版本:Windows 10 Home
  • 版本:1709
  • 构建:16299.98
  • 注意:启用Toast(横幅,操作中心) System->Notification & Actions

码:

// main.js
const { app, BrowserWindow, ipcMain, Notification } = require("electron");

const path = require("path");
const url = require("url");

let win;

function createWindow() {
  // Create the browser window.
  win = new BrowserWindow({ width: 800, height: 600 });

  // and load the index.html of the app.
  win.loadURL(
    url.format({
      pathname: path.join(__dirname, "index.html"),
      protocol: "file:",
      slashes: true
    })
  );

  // Open the DevTools.
  // win.webContents.openDevTools()

  // Emitted …
Run Code Online (Sandbox Code Playgroud)

node.js electron node-notifier

4
推荐指数
1
解决办法
4250
查看次数

如何在域驱动器设计中设计自引用聚合

我在一个任务系统上工作,其中一个任务可以有集合子任务,子任务可以有子任务的集合等等(递归).

DOMAIN

task给出的是基于Organizational Chart

示例组织结构图:

Mahdi
---Saeed
------Jaime
------Ahmed
---Tarawneh
------Mae
---Rasheed
Run Code Online (Sandbox Code Playgroud)

组织结构图上的上层人员将任务分配给他下面的人.

让我们说马赫迪将把任务分配给赛义德命名prepare course materials for IELTS.

然后,赛义德可能会将任务划分为子任务.

prepare course materials for IELTS
---issue laptop and equipment (assigned to Jaime)
---prepare the checklist form(assigned to Ahmed)
Run Code Online (Sandbox Code Playgroud)

然后,如果它真的是一项重大任务,Jaime可能会将其进一步划分为子任务.

根据领域专家的说法,它通常低于3级

不变量:

  • 在移动任务的截止日期时,应该检查它是否应该超过其父任务的截止日期
  • 如果任务有子任务,它将基于它们的状态.(任务将保持挂起状态,直到有一个待处理的子任务......任务将在其所有子任务完成时自动标记为已完成)
  • 如果他们没有子任务,每个单独的任务都可以更新他们的状态

编辑

  • 我只能更新分配给我或我分配给的任务状态.
  • 我只能向直接在我这里的员工提供任务

我是否必须坚持这个Task概念,或者仍然存在像MainTask和SubTask这样的概念(只是一个例子)?

如果我坚持这个Task概念,我应该加载整个图表还是只加载直接的父母和孩子?

或者我应该将所有工作委托给域名服务吗?这可能会把任务变成贫血模型?

domain-driven-design aggregateroot

1
推荐指数
1
解决办法
199
查看次数

命令处理程序是否包含服务或服务包含命令?

我试图遵循CQRS模式,但我不知道谁应该包含谁.我应该在命令处理程序上注入应用程序服务,还是反过来呢?

这是一个例子.我正在向命令处理程序注入服务.并使用CreatProductCategoryCommandHandlerExecute方法内的服务

public CreateProductCategoryCommandHandler(ICategoryService categoryService)
{
    _categoryService = categoryService;
}
Run Code Online (Sandbox Code Playgroud)

或者在我有命令处理程序时甚至需要服务?

.net c# asp.net-mvc domain-driven-design cqrs

0
推荐指数
1
解决办法
712
查看次数