下面我们通过适配器的方式来实现转换,看看有什么不同:
- public class ProductTest
- {
- private Product _product;
- public ProductTest(Product product)
- {
- ProductAdapter adapter = new ProductAdapter(product);
- adapter.InitDTO(this);
- }
- }
下面看看具体的适配器中的代码:
- public class ProductAdapter
- {
- private Product _product;
- public ProductAdapter(Product product)
- {
- this._product = product;
- }
- public bool InitDTO(ProductTest test)
- {
- //赋值的过程,将Product中的信息转换为ProductTest对象
- test.pro_BrandID = _product.pro_BrandID;
- //...
- return true;
- }
- }
我们上面看到了,通过依赖注入的形式,将要包装的接口传入到适配器,然后在适配器的内部进行相应的包装,传出包装后的接口,这就是一个完整的适配器流
程,具体的业务逻辑就是根据需要来做了。通过上面的方式我们的确完成了相应的转换,不过转换的代价是非常的大,不过有的时候我们的业务需求是这样的,可能我
们也没有更好的办法,只能通过这样的方式来做,可能对解决方案的实现比效率更有价值。其实我们在使用传输对象的时候还是需要仔细的斟酌项目的需求,看看是不
是必须要使用这个,如果不是必须的,其实我们可以不需要强迫性的使用。
六、本文总结
本章主要讲述了系统架构中的服务层的架构中的注意事项及几个简单的设计模式及使用,并且讲述了服务层应用的场景和带来的好处,当然我们也需要服务层的
优劣处,还有就是服务的实现方案,本文前面可能没有讲解发布服务的几种方式,这里简单的用图来说明下吧?
498)this.width=498;'' onmousewheel = ''javascript:return big(this)'' alt="" src="/uploadfile/201301/12/9E12211315.png" />
WCF已经内置继承了remoting,socket和SOAP的方式来进行远程调用服务,当然HTTP方式的SOAP的服务方
式,还是推荐使用Web服务的方式来做。
模式需要注意的事项,将会举例说明每个设计模式可能出现的场景。希望大家持续关注!
作者:CallHot-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/