企业级开发最好基于一些成熟的框架,从而将主要精力集中到领域模型的设计上。
1. UI与业务逻辑的隔离:在web领域可以采用ASP.NET MVC框架。
2. 业务逻辑与DB的隔离:可以采用Entity Framework框架。
3. 业务逻辑中涉及工作流的:可以WF框架。
4. 分系统之间需要集成的:可以采用WCF框架。
在UI与业务逻辑的隔离上许多方法可以采用:
- API方式:业务逻辑对外提供API接口,UI调用这些接口来实现功能。这些API的部分甚至可以对外公布供第三方使用,例如google对外公布了地图的API,第三方可以使用google的地图服务。QQ公开了API接口,网站可以使用此接口实现在线服务等等。
- IoC方式:控制反转方式。UI通过相应的框架如Unity等来得到相应的属于业务逻辑的类的实例,从而调用相应的功能。比如微软的示例程序PetShop就可以采用这种方式。
- WCF方式:客户端需要得到一个Contract.dll,从而可以实例化proxy来代表服务器端的对象,并且可以实例化相应的参数对象,这些对象一般都是一些容器对象,就是说仅仅有属性而没有行为。
- Rest方式:Facebook采用这种方式,对这种方式了解不多,可以确定的就是它也属于SOA的范畴,不过简单易用相较SOAP而言。