我一直在努力思考如何将我的域对象公开给客户端。无论我使用的是富客户端还是使用 Web,我都想使用 MVP 和存储库模式。
我想要了解的是如何公开我的存储库和模型,它们将在服务器上。是否可以通过 Web 服务公开具有状态的复杂业务对象,或者我是否必须使用与语言/平台无关的专有技术,如 .Net 远程处理、EJB、COM+、DCOM 等?
其他一些限制是我不想每次我想执行操作时都必须不断地从数据库中加载复杂的域对象或通过网络传递它。一些复杂的逻辑可能是屏幕的某些区域可能会根据用户权限以及对象的状态被禁用或不可见。验证和错误消息信息也需要显示给用户。我希望能够在逻辑上调用我的许多域对象操作,就好像它在同一台机器上运行一样。
有了网络,您就可以自由发挥。您不必跨服务边界公开您的对象,因此您可以根据需要使它们变得丰富。我正在尝试创建一个丰富的 N-teir 架构,当调用该模型的客户端在另一台机器上时它可以工作。