域驱动设计 – DDD和SOA是否真的在一起玩得很好?

请让我知道,如果我完全对DDD的概念感到温和,但这是我的困境.

假设我有以下域名模型:

Teacher
  IList<Class>

Class
  Teacher
  IList<Student>

Student
  Class

现在,从DDD的角度看,老师是我的根源,事实上,在一个简单的应用程序中,我可以随着我的老师和她的班级和学生携带,并根据需要对他们采取行动.但是在SOA的情况下,我们已经把我的老师,她的班级和学生拉下来进行展示(dtos),她想添加一个学生.当然,我不会将整个对象图发送到服务器,并从数据库中检索域对象,以便我可以添加一个新学生,对吧?

这里的甜蜜点在哪里,还是我完全错过了船?

谢谢!

晚点:也许我在回答自己的问题,但我想一种方法是让我的老师服务有各种各样的学生管理方法(AddStudent,UpdateStudent),使得我的根目前仍在管理一切,而不是每个对象有一个服务.

你正在考虑表演,但是你会感到惊讶.在我的SOA Web服务中,我使用这样完整的对象图,性能在可接受的限度内.我建议使用业务对象和业务Web方法,如SaveTeacher(教师t),除非绝对需要使用DTO作为性能原因和相关的CRUD Web方法,如AddStudent(long teacherId,Student student) 但是即使使用以后,您也可以通过将老师从老师身上加载到持久性商店中来应用DDD概念,附加学生并将老师保存回持久性商店.

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...