日期:2014-05-20  浏览次数:20744 次

.NET底层开发技术
一直用。NET做ERP/MIS类型的软件,学业不精,可以完成工作任务,业余时间也制作一些集成化的工具包,下面分享一下我认为的。NET领域里的底层技术。
  1 通信技术(Remoting,WCF, ASMX)
  通常的三层架构,数据库,数据访问层,界面层。通讯技术定义了三层组件之间的调用约定,以及方法。这样说起来有些抽象,举例为证。现在要制作一个进销存项目,基本的功能是进仓,出仓,转仓,查询功能要能查询到仓库进出日记帐,
  库存余额。对于一笔物料为FLEX0901的进仓业务,用ORM的方式完成,伪代码如下
  InventoryMovmentEntity
  receipt=new InventoryMovmentEntity("REF1108080001","RECEIPT");
  InventoryMovmentDetailEntity detail=receipt.InventoryMovmentDetails.AddNew();
  detail.ItemNo="FLEX0901";
  detail.MoveDate=DateTime.Now;
  InventoryMovementDAL.Instance.Save(receipt);
  ◆ 对于库存报表,多个并发的InventoryMovementDAL会导致数据前后不统一。库存余额报表现在可以读到物料FLEX0901还有100个pc,一会当有进仓单入库200pc的FLEX0901时,如果不手动刷新数据,此时的报表仍然显示的物料FLEX0901的库存余额是100,而不是300. 这有时候是不可接受的结果。
  可以做一个timer,定期刷新库存余额。这里的问题是,InventoryMovementDAL只有一个实例,无法自己告诉自己,已经有新的库存了,重新读取数据。这里需要一种并发机制,告诉InventoryMovementDAL实例,有新的数据加入到库存余额中,需要刷新报表。
  ◆ 有一些数据项,是全局的,对于整个系统都是唯一的,需要特殊处理。
  比如ERP系统允许的并发用户,同时允许有10个用户连接进入系统,超过则无法处理;
  ERP系统的一个用户把当前系统的默认货币从HK$改进了US$,其它的用户,要能知道这个改变,此时,不太可能让当前正在操作业务的用户退出,重新进入系统
  2 反射,动态编译
  反射是动态获取程序集的元数据的一种技术,这句话是做。NET程序员面试题目的一个的答案,你可选择记住它,就好比高中生物学里面讲到的细胞的结构的课程时,细胞由细胞膜,细胞质和细胞核组成。根据做程序的经验,Never ask why不是好习惯,即使是微软的API,有时候违反了调用约定,也会很抓狂。
  在ERP/MIS系统中,应用反射的例子,实在是太多了。数据访问接口InventoryMovementDAL,借助于反射,来查找并调用它的实现类; 窗体也它的子窗体借助于反射来获取属性,传递值;ERP系统的整个框架,也是借助于反射搭建起来。
此文转载:中国IT实验室之软件月刊 更多精彩在:http://www.chinaitlab.com/mail/soft/201109/index.html

------解决方案--------------------
支持。
------解决方案--------------------
都是些基础知识,算不上底层。
------解决方案--------------------

------解决方案--------------------
总是好的,这样的总结。支持
------解决方案--------------------
围观围观
------解决方案--------------------
反射觉得非常有用 哈哈。。。。
------解决方案--------------------
页面加载过程,生命周期
------解决方案--------------------
支持。
------解决方案--------------------
呵呵,这绝对不是底层,相反这是高层

自己去看msdn把,你所谓的这块内容。微软msdn有专门的一个主题去讲述“.NET Framework 高级编程主题”

http://msdn.microsoft.com/zh-cn/library/29eafad8(v=vs.80).aspx
------解决方案--------------------
楼上那个连接不错。
------解决方案--------------------
凑热闹
------解决方案--------------------
火热的贴子,大家都想看...中国人嘛!
------解决方案--------------------
原来楼主是搞应用的,连底层是什么也解释不清