2016-09-28 2 views
0

Я работаю над системой и пытаюсь использовать ddd с node.js. Вот пример для системы, от высокого уровня:ddd: логика, охватывающая несколько моделей, куда она должна идти?

database tables(mongoldb):  
user  
username: String  
firstName: String  
middleName: String  
lastName: String  

department 
title: String  
members: [{  
    user: {type: this.mongoose.Schema.ObjectId, ref: 'user’},  
    permissions: String  
}]  

patient 
user: {type: this.mongoose.Schema.ObjectId, ref: 'user’},  
department: [{type: this.mongoose.Schema.ObjectId, ref: ‘department’}]  

lab: [{  
    patient: {type: this.mongoose.Schema.ObjectId, ref: ‘patient’}  
    doctor: {type: this.mongoose.Schema.ObjectId, ref: 'user’},  
    type: String,  
    results: {there is a lot going on here, }  
}] 

medication: [{  
    patient: {type: this.mongoose.Schema.ObjectId, ref: ‘patient’}  
    doctor: {type: this.mongoose.Schema.ObjectId, ref: 'user’},  
    name: String,  
    dosage: Number,  
    etc.  
}] 

бизнеса-логика гласит, что только пациент или врач, который является членом одного из департаментов пациентов, список отдела может рассмотреть его медицинскую информацию. Первоначально я думал, что это должно быть в отдельной службе домена, поскольку она, по-видимому, охватывает объекты, но недостатком является то, что для вызова службы разрешений потребуются другие службы, и я думал, что услуги не должны вызывать другие службы. Если я помещаюсь в лабораторию и объекты медикаментов, то я являюсь кодом дублирования и нарушая сухость. Если я добавлю в службу доменов отделов, я делаю вызов службы другой службой. С точки зрения ddd, где же такая логика?

+0

Службы приложений не должны обращаться к другим службам приложений, поскольку они являются точками ввода для использования, но нет ограничений на количество услуг домена, которые вы можете использовать. – plalx

ответ

0

Откуда вы получили идею, услуги не должны вызывать другие услуги. Безопасность обычно представляет собой отдельную услугу или что-то еще.

Смежные вопросы