分层构架系统有时候就是"鸡肋",这里举个明显的例子
大家好,我是新手,水平有限,说错了的地方大家批评指正,谢谢!最近做个三层构架的商城,在做广告维护模块时候更新的内容涉及到图片和文字,更新大概分: 
 1.图片文字都更新 
 2.图片更新,文字不更新 
 3.图片不更新,文字更新. 
 鸡肋就在第三种情况,下面系统的MODEL 
    public   class   Advertsement 
             { 
                         public   Advertsement() 
                         {   
                         }  		 
 		private   int   _adid; 
 		private   string   _adinfo; 
 		private   string   _adpic; 
 		private   string   _adurl; 
 		///    <summary>  
 		///    
 		///    </summary>  
 		public   int   AdId 
 		{ 
 		set{   _adid=value;} 
 		get{return   _adid;} 
 		} 
 		///    <summary>  
 		///    
 		///    </summary>  
 		public   string   Adinfo 
 		{ 
 		set{   _adinfo=value;} 
 		get{return   _adinfo;} 
 		} 
 		///    <summary>  
 		///    
 		///    </summary>  
 		public   string   AdPic 
 		{ 
 		set{   _adpic=value;} 
 		get{return   _adpic;} 
 		} 
 		///    <summary>  
 		///    
 		///    </summary>  
 		public   string   AdUrl 
 		{ 
 		set{   _adurl=value;} 
 		get{return   _adurl;} 
                         }                           
  图片的更新用到控件FileUpload,当不需要更新图片时候FileUpload内容为空 
  但是这时的更新Model类里面也得有个AdPic,所以只好另外写个获取的函数获取到数据库中原来的AdPic来给Model类中的AdPic   赋值,如果不用三层用if   (this   .FileUploadId   .HasFile)   分情况写SQL语句就可以了,感觉还来的灵活些,大家说分层绕来绕去是不是性能更低啊?
------解决方案--------------------up
------解决方案--------------------o
------解决方案--------------------感觉是你的模型或数据层没写好   
 如果你的目的是性能,自然是直接SQL最好,但分层的目的是关注分离,好维护,可重用性好。。。如果你不在乎这些东西的话,大可直接使用SQL 
------解决方案--------------------up
------解决方案--------------------似乎思归说的对,但个人不同意,作程序不能一边倒的,什么事都讲个“和谐”,讲个“平衡”
------解决方案--------------------//需求一直在变,保持关注分离   
 在做n层维护的时候也有悖论,尤其是当数据库结构变化的时候,model和dal层都会有变化,这   
 样的耦合度在增加   
 我现在用部分类,依然使用代码生成器(codesmith)似乎自己做的模版还成,减少代码生成器   
 生成的代码和自己手写的代码的耦合
------解决方案--------------------同意思归的看法。关注分离,否则项目一大,到了后期维护的时候才知道什么是后患无穷,我们早已深受其害
------解决方案--------------------LZ没有理解多层的含义;   
 多层的时候,会导致开发量以及成本的增加和开发周期的延长,但是它的优点在于规范性,可维护扩充性,重用性.   
 有利必有鄙,所以要根据情况来选择,不是一味的追求一个定式.在大型应用项目和成熟团队中,牺牲效率来换取规范和可维护性显的更加重要~
------解决方案--------------------楼主知识体系的不完整导致会出现这种想法……   
 希望楼主再过两年再回头来看这个问题,到时候也许就会觉得当初为什么会问那么白痴的问题了。
------解决方案--------------------架构设计的不合理..  
 或者架构设计师是个不懂编码的架构设计师..
------解决方案--------------------N-Tiers 又不是万能膏药,怎能到处贴,特别是不痛不痒的 ....
------解决方案--------------------多层的目的是规范,重用,对性能没有什么太大的优化。如果不需要重用,也不需要和其他人协同工作,怎么写都随意了。