随笔分类 -  框架设计之旅

随着见识、工作经验的不断积累,思想不断向前进步发展,打算在这里记录下,我自己框架的设计思路的不断变迁,在这里,谱写下我每一个思路变迁的乐章。
摘要:我们来先看看WinAction的有关数据操作的流程:(包括更新数据操作和取消更新的操作)具体的参考代码:更新数据操作:///<summary>///实体更新时执行///</summary>///<paramname="entity">当前操作的实体</param>///<paramname="caller">修改对象(窗体)</param>///<paramname="sender">修改对象(窗体)的按钮</param>///<pa 阅读全文
posted @ 2011-09-09 11:29 努力偷懒 阅读(929) 评论(1) 推荐(0) 编辑
摘要:我们来先看看WinAction的删除数据的流程:具体的参考代码:publicvirtualvoidDeleteEntity(objectentity,objectcaller,objectsender,EventArgse){if(callerisIDataListView){IDataListViewlistForm=callerasIDataListView;if(null==listForm.DataList||(listForm.DataListisICollection&&(listForm.DataListasICollection).Count==0))retur 阅读全文
posted @ 2011-09-09 11:23 努力偷懒 阅读(373) 评论(0) 推荐(0) 编辑
摘要:我们来先看看WinAction的修改数据的流程:具体的参考代码:publicvirtualvoidEditEntityHandler(objectentity,objectcaller,objectsender,EventArgse){if(callerisIDataListView){IDataListViewlistForm=callerasIDataListView;if(null==listForm.DataList||(listForm.DataListisICollection&&(listForm.DataListasICollection).Count==0)) 阅读全文
posted @ 2011-09-09 11:21 努力偷懒 阅读(386) 评论(0) 推荐(0) 编辑
摘要:我们来先看看WinAction的新增数据的流程:源码参考:publicvirtualvoidNewEntityHandler(objectentity,objectcaller,objectsender,EventArgse){//判断编辑窗体是否已打开FormeForm=CallEditForm(caller);if(eFormisIEditDataForm){IEditDataFormmEditForm=eFormasIEditDataForm;if(eForm.Visible){if(mEditForm.EntityisEntity&&(mEditForm.Entitya 阅读全文
posted @ 2011-09-09 11:20 努力偷懒 阅读(568) 评论(0) 推荐(0) 编辑
摘要:我们来先看看WinAction的显示列表窗体的流程:具体代码参考:publicvoidInitListForm(FormlistForm,objectentity){if(listFormisIDataListView){IDataListViewmForm=listFormasIDataListView;IList<T>dataList;if(null==entity)dataList=useBll.SelectAll<T>();elsedataList=useBll.QueryForList<T>(entity);mForm.setDataList(Tr 阅读全文
posted @ 2011-09-09 11:13 努力偷懒 阅读(863) 评论(1) 推荐(0) 编辑
摘要:在步入正题前,我们来先聊一些题外的话,魔兽世界估计很多程序员都听过,可能玩过的人也很多,我虽然没怎么玩,但我也接触过,我们来说下战场,要想打赢,必须有一个人去指挥战场,如果没人指挥,这战场十有八九会输掉,我相信,很多人打过战场的人都深有体会的。没玩过魔兽,没打过战场?没关系,拿真实的战役来说吧,三国时期的赤壁之战,这个够经典了吧,如果连这个都没听过,下面的,不用看了。为何刘备他们能打赢?那是因为有一个很了得的军师:诸葛亮做指挥。在开战前,军师们,当然不只诸葛亮是军师,曹操他们那边也有不少。军师会先分析研究地形、气候、人,以及模拟猜测敌方会使用何种计谋等,然后再根据自己自身的条件去作出不同的人. 阅读全文
posted @ 2011-09-09 11:05 努力偷懒 阅读(783) 评论(0) 推荐(0) 编辑
摘要:先上图看下数据分层实际应用:下面来按从下往上的顺序介绍:1. Example.AutoModel:代码生成器自动生成的Model/VO/Entity(数据模型/数据实体),无论重复生成多少次,都可以全部替换掉,因为该项目不会体现任何的业务逻辑,这个项目永远都是自动生成。2. Example.IBatis:很明显,这个是IBatis特有的,因此,把IBatis的SqlMap都放在这里,这里为了防止自动生成的文件,把应用的业务逻辑相关的代码覆盖掉,使用文件夹的方式分开管理,代码自动生成后,只替换掉AutoMap部分的文件。这里没有把AutoMap和Map还有DAL独立出各自的项目,也是经过思索的, 阅读全文
posted @ 2011-04-12 15:39 努力偷懒 阅读(1886) 评论(3) 推荐(2) 编辑
摘要:所谓的数据分层就是我们做数据库类的软件开发时,涉及到和数据库打交道的数据分层。为了可以让代码可以重复利用在更多的地方,为降低模块与模块之间的耦合性,我们必须对这个分层有一个宏观的规划,考虑更多的情况。下面,是我的数据分层的设计理念:我们来先看图,对图有个充分的认识后,才对下面描述的文字有更好的理解: 一、 数据的分层:目前流行的分层以3层为主:DAL/DAO(数据库访问层)、BusinessManager/BLL(业务逻辑层)、Model/VO/Entity(数据模型/数据实体)。(其实,我都分不清这些业务术语的,我只知道有这3层,我知道我该如何去设计,所以我也懒得去管他那些专业术语了,所以, 阅读全文
posted @ 2011-03-31 17:12 努力偷懒 阅读(2621) 评论(3) 推荐(1) 编辑
摘要:我将会在框架设计之旅中记录下,在设计框架时谱写下的每一篇文章,为日后可以回顾我一直以来,我的思想是如何变化的,在这过程中有可能犯下的各种错误,以及设计理念的变迁,以备日后的设计之路作参考,鞭策自己,不要再犯重复的错误。也为经验的积累,一一记录下来。在框架之旅开启前,先来简单地介绍一下:该框架是以WinForm应用程序作为开发为目的的,宗旨在于如何可以让我们可以有更多的时间可以偷懒。但为了偷懒,其实,我们得付出更多的努力,想偷懒也得付出辛勤的劳动。好了,说下这框架的事情:使用Spring.NET来实现工厂模式,甚至会在开发过程中,如Spring.NET能实现的,能满足我需要的,我都会尽量去发挥. 阅读全文
posted @ 2011-03-31 16:29 努力偷懒 阅读(497) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示