Billpeng Space

技术源自生活
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 28 下一页

2012年10月3日

摘要: 领域中的分层模式(LAYERED ARCHITECTURE)依次分为用户界面层,应用层,领域层,基础设施层 各层主要任务用户界面层:想用户显示信息和解释用户指令。应用层:定义软件要完成的任务,并指挥表达领域概念的对象来解决问题。应用层应尽量简单,不包含业务规则或知识,而只是为下一层中的领域对象协调任务,分配工作,屎他们相互合作。他没有反映业务情况的状态,但是却可以具有另外一种状态,为用户或程序显示某个任务的进度。领域层(模型层) :负责表达业务概念,业务状态信息以及业务规则。尽管保存业务状态的技术细节是由基础设施层实现,但是反映业务情况的状态是由本曾控制并使用的。此层是软件的核心。基础设施层: 阅读全文

posted @ 2012-10-03 04:49 billpeng 阅读(379) 评论(0) 推荐(0)

2012年10月1日

摘要: 在上篇随笔中, 我们发现Entity Framework在构建SQL语句时,将ToTable("CNBlogsTex.dbo.blog_PostBody")中 的"CNBlogsTex.dbo.blog_PostBody"转换为"[CNBlogsText.dbo].[blog_PostBody]",从而 造成不能进行跨数据库查询。 今天上午,我们通过Reflector对Entity Framework的代码进行分析,找出了真相。 真相如下: 1. 对于“CNBlogsTex.dbo.blog_PostBody"字符串,Ent 阅读全文

posted @ 2012-10-01 03:07 billpeng 阅读(272) 评论(0) 推荐(0)

摘要: 解决了Entity Framework跨数据库查询问题,博客园现代化建设又向前迈进了一步。 在之前的一篇随笔“ 博客园现代化建设——AutoMapper ”中曾谈到,我们所遇到的应用场景是数据库查询返回的字段数少于实体类的属性,而默认情况下Entity Framework根据实体类的属性进行映射的,所以我们改用了AutoMapper。后来,真见在评论中指出可以在LINQ通过 select new 指定查询返回的字段,Entity Framework会根据返回的字段与实体类属性进行映射。 我们尝试了一下果然可以,但是,在所用的LINQ查询代码中有个地方不够现代化,代码如下: using (Bl. 阅读全文

posted @ 2012-10-01 03:06 billpeng 阅读(273) 评论(0) 推荐(0)

摘要: 又来一篇,大家也许都嫌烦了。但是写博客既能提高自己,又能帮助别人,而且每次写的过程中和发布出来之后都有收获,真是太赚了!麻烦大家忍一忍吧。 言归正题,在之前的一篇随笔“准备用Entity Framework实现数据的按需更新”中,我们实现了按需更新,但和这里的指定字段更新的应用场景不一样。 之前的按需更新的应用场景是:把需要更新与不需要更新的数据都给Entity Framework,由EF自己判断实际需要更新哪些。 现在的应用场景是:我明确知道要更新哪个字段,让EF做的只是更新这个操作,其他不用操心。 下面我们通过一个比喻来比较一下两者的区别。 比如我有一辆车想在汽车修理店更换一些部件。我把车 阅读全文

posted @ 2012-10-01 03:06 billpeng 阅读(245) 评论(0) 推荐(0)

摘要: 值类型没有标识,只记录其他类值,所有属性都是只读,只能通过new来构造新的对象VALUE OBJECT 的设计包括共享和复制。 FLYWEIGHT(享元)模式可以实现共享VALUE OBJECT共享和复制的使用以下情况使用共享1)节省数据库空间或减少对象数量是关键要求时2)当通信开销很低时(中央服务器)3)共享对象被严格限定不可变的时候如果:用户中有对象:联系地址,而订单中有用户对象,并且要记下用户究竟将订单送到哪个地址上,此时,联系地址的ID就有标识的意义,所以这个时候地址就成了实体了。总之,实体和值对象在不同的项目中(甚至是同一项目的不同阶段) ,都是会转化的,转化的依据就是“需求”。实体 阅读全文

posted @ 2012-10-01 02:51 billpeng 阅读(1199) 评论(0) 推荐(0)

摘要: 这篇文章将讨论查询结果的加载控制。 EF4.1 允许控制对象之间的关系,当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体 仅仅拥有一个相关的子实体,但是,多数情况下,你可能只需要加载部分数据,或者你喜欢的话,加载更多的数据。 默认情况下, EF4.1 仅仅加载查询中涉及的实体,但是它支持两种特性来帮助你控制加载: 贪婪加载延迟加载 贪婪加载 对于下面的查询 using (var context = new MyDomainContext()) { var orders = from o in context.Ord... 阅读全文

posted @ 2012-10-01 01:49 billpeng 阅读(322) 评论(0) 推荐(0)

2012年9月27日

摘要: http://blog.csdn.net/tianhai110/article/details/6339565在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)1.泛化(Generalization)【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.【箭头指向】:带三角箭头的实线,箭头指向父类2.实现(Realization)【实现关系】:是一种类与接口的关系,表示类是接 阅读全文

posted @ 2012-09-27 11:32 billpeng 阅读(185) 评论(0) 推荐(0)

2012年9月25日

摘要: 1.接口回调:把接口当做参数传递,可以提高功能的可扩展性 2.功能划分:可以划分不同的功能,用显示接口(我们常用的是隐式接口)可以更好的进行功能划分。比如:管理员可以增删改查,而录入员只能新增和查看3.在各类设计模式中上层代码通过接口调用底层代码,以减少认底层代码的修改,只需要在上层调用的地方实例化不同的类,并传进来就可以了4. 注入依赖5.对于不同的类,使用相同接口时功能的约束。 6.使用回调,可以提高功能的可扩展性 如:我们如果把clsProject这个类封成一个组件,那么当我们的用户需要要扩充功能的时候,我们只需要在外部做很小的修改就能实现,可以说根本就用不着改动我们已经封好组件!是不是 阅读全文

posted @ 2012-09-25 13:52 billpeng 阅读(322) 评论(0) 推荐(0)

摘要: mvc中是轻control还是轻model?我认为在.net mvc3中微软给我们的信号应该是轻model重control的,但java中是重model轻control的。反过来想,其实就是指model是个贫血类还是充血类的区别,目前在用的是贫血model,总感不太好,再想想,是不是应该转为充血model,,,另外如果用充血model的话,微软给我们很多方便的方法用起来就不太顺了,比如updatemodel 阅读全文

posted @ 2012-09-25 13:41 billpeng 阅读(447) 评论(0) 推荐(0)

摘要: 何为显式接口实现、隐式接口实现?简单概括,使用接口名作为方法名的前缀,这称为“显式接口实现”;传统的实现方式,称为“隐式接口实现”。下面给个例子。 IChineseGreeting接口,如果需要具备中文的问好行为,需继承此接口。 1 //IChineseGreeting.cs 2 3 interface IChineseGreeting 4 5 { 6 7 void SayHello(); 8 9 }10 11 12 13 ChinesePeople类实现IChineseGreeting接口。14 15 16 17 //ChinesePeople.cs18 1... 阅读全文

posted @ 2012-09-25 13:37 billpeng 阅读(434) 评论(0) 推荐(0)

上一页 1 ··· 6 7 8 9 10 11 12 13 14 ··· 28 下一页