最近在网上经常看到关于Winform架构的文章,但是很多都是以B/S结构的标准三层架构为例子。个人认为,这种架构不适合业务逻辑比较复杂的软件,每张表建一个所对应的实体对象,那么在业务比较复杂的时候,join多张表的时候该怎么办?记得在四月份面试了一位程序员,他以前开发过一个软件,架构就是采用此架构。还跟我说,此架构速度会快一点。想想搞笑,这样的架构怎么速度快一点,我只觉得此架构的好处是比较适合多人开发,而且代码维护比较好。但我始终不认为,winform采用这样的架构。很多人不喜欢DataSet,说什么Dataset是会造成并发。其实MSDN中有这样一句话: 设计DataSet对象的目的是为了促进将开放式并发用于长时间运行的活动,例如对数据进行远程处理以及与数据进行交互时。ADO.Net中的原理在这里不再多讲。从物理分层(客户端,中间层,数据库)角度来讲,这种架构如何进行物理方面的分层,也许我孤陋寡闻。但是我看到过,客户端用.net或delphi等写,中间层用JBOSS、WebLogic等。但具体怎么会层,我不清楚。希望写此篇文章抛砖引玉,来讨论这方面的技术问题。