读Expert c#2005 Business Objects 谈为什么要对象序列化

今天读到了不同分层框架的利弊,然后书上转而又谈到了一种新的解决思路,写一个完全集中的业务逻辑层!
我们在往常的开发中,总是不可避免的要在UI层,数据访问层,搀杂业务逻辑判断。比如说WEB,有时候需要在UI层就验证用户的输入的合法性等等,为是提高系统的交互性,增强用户体验,同时减少网络流量,但是如果把业务逻辑放在UI层,安全性是不能得到保障的,这时候问题就出来了。而且还有一个严重问题,我们如果把业务逻辑分散在各个层里,这样会造成冗余代码,维护起来极为不便。
于是作者提到了移动对象的概念。思路是这样,我们在网络上传递封装好的业务逻辑对象,其对象已包含业务逻辑判断和需要的数据,把该对象转成二进制数据在网络上移动,哪个层需要用到时,就把对象传给那个层,调用的那个层再反序列化还原那个类,这样代码的重用性大大提高了,而且其功能比单纯的类似DataSet那样的东西强大很多。这就是序列化对象的目的,通过这种手段把对象在不同层间传送,其安全性也大大提高了,不同的层也可以使用相同对象处理相同的逻辑,也减少了代码冗余。
直到今天我才完全明白为什么要序列化对象,这就是作者提到的移动的业务对象概念,简而言之就是实现面向对象的分布式计算

你可能感兴趣的:(object)