域通知emnodejsð
#javascript #编程 #node #ddd

介绍

应用程序域的责任之一是确保应用程序操纵的数据处于徒劳状态。但是,在某些情况下,数据不处于徒劳状态,并且域需要将这些问题通知用户。可以通过例外或错误来完成娱乐的通知,但这可能会损害通常的系统的经验和系统的可靠性。另一种选择是使用域通知标准来通知用户数据中的问题。

域通知标准允许应用程序捕获数据中的所有问题,并以友好的方式将它们呈现为愉快的方式。它用于通知用户有关验证问题,业务错误等。在本文中,我们将讨论如何使用Flunt-JS软件包中的NodeJS标准中实现域通知。

哦,flunt-js?

Flunt-JS是由Min创建的库,用于验证JavaScript中的数据。它提供了一种简单直观的方法来验证对象。 Flunt-js的灵感来自flunt。

emplimain§£o

要实现域通知标准,您需要创建一个封装验证和验证通知的类。此类将负责通知用户数据中的任何问题。

让我们创建一个具有以下属性的用户示例实体:名称,电子邮件,密码和CPF。让我们使用Flunt-JS验证用户属性并通知用户任何问题。

首先,我们需要安装库:

npm install flunt-js

使用flourtjs并创建具有验证的实体

const { Notifiable, Contract } = require('flunt-js');

class User extends Notifiable {
  constructor(nome, email, senha, cpf) {
    super();

    this.nome = nome;
    this.email = email;
    this.senha = senha;
    this.cpf = cpf;
    this.dataCadastro = new Date();

    super.AddNotifications(
      new Contract()
        .isEmail(email, 'O email informado é inválido.')
        .hasMaxLen(nome, 50, 'O nome deve ter no máximo 50 caracteres.')
        .hasMinLen(senha, 6, 'A senha deve ter no mínimo 6 caracteres.')
        .isFixedLen(cpf, 11, 'O CPF informado é inválido.')
    );

  }
}

const usuario = new User('John Doe', 'johndoe@example.com', '123456', '12345678901');

// Executa a validação e imprime as mensagens de erro, se houver
if (!usuario.isValid()) {
  console.log(usuario.getMessages());
} else {
  console.log('Usuário válido.');
}

通过这种方式,用户类可以使用Flunt-JS封装验证和通知的验证。函数验证()使用Flunt-JS验证用户属性并通知用户任何问题。

Flunt-js支持VANIOS验证类型,包括验证母长的验证(Hasmaxlen),母亲长度的验证(Hasminlen),验证£电子邮件格式,固定值的验证(ISFIXEDLEN),等等。可以自定义每个验证返回的错误消息。


const usuario = new User('John Doe', 'johndoe@example.com', '123', '1234564233432478901');

// Executa a validação e imprime as mensagens de erro, se houver
if (!usuario.isValid()) {
  console.log(usuario.getMessages());
} else {
  // não entra aqui pois os dados são inválidos
  console.log('Usuário válido.');
}

通过这种方式,我们创建了一个具有发明数据的新用户,并验证了此数据。如果验证失败,通知的函数将返回错误消息列表。我们可以使用此列表将任何问题通知用户。

现在我们拥有我们的用户实体,我们可以使用它来验证邮局上的用户数据。例如,如果我们在应用程序中创建新用户,我们可以执行以下操作:

const express = require('express');
const User = require('./User');

const app = express();
app.use(express.json());

app.post('/users', (req, res) => {
  const { name, email, password } = req.body;

  const user = new User(name, email, password);

  if (user.isValid()) {
    // retorna a lista de notificações ( caso queria somente as mensagens pode usar o getMessages() )
    return res.status(400).json(user.notifications);
  }

  // Salvar usuário no banco de dados
});

包括£o

域通知模式是一种通知用户数据中问题的方法。它允许应用程序捕获数据中的所有问题,并以友好的方式将它们展示给享受。

在本文中,我们讨论了如何使用Flunt-JS软件包在Node.js标准中实现域通知。用于验证JavaScript数据的库,该数据提供了一种简单直观的方法来验证对象。

使用Flunt-JS验证有助于确保数据处于徒劳状态,并将任何问题通知用户。使用验证,我们可以保证该应用程序正在接收破坏性数据并避免将来的问题。

反思

flun-js:https://github.com/jhonesgoncalves/flunt十字架 流:https://github.com/andrebaltieri/Flunt十字架 域通知:https://docs.microsoft.com/en-us/dotnet/architecture/microservices/microservice-ddd-cqrs-patterns/ddd-oriented-microservice#domain-events-and-notifications