vs2005能否让类的实体、操作合二为一?

ofei 2006-06-15 08:30:29
以经典的petshop为例子,一个City类会在Model项目中创建一个CityInfo实体类,再在BLL项目中创建一个操作类City类,这样为维护带来了一些还处。但Model项目和BLL项目实际上是紧偶合的...web项目的codehind类经常要用到Model项目的实体类和BLL项目的操作类。
vs2005发布之后,利用C#的partial关键字,能否让类的实体、操作合二为一,把类的代码写到两个文件中,如City.Model.cs和City.Logic.cs。
请大家谈谈...............
...全文
451 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
wufato 2006-06-20
  • 打赏
  • 举报
回复
收藏
ofei 2006-06-20
  • 打赏
  • 举报
回复
用partial分开就是两个文件了哎
怎么会是写在一起呢?

汗~~
liuqian0415 2006-06-20
  • 打赏
  • 举报
回复
LoveCherry 2006-06-20
  • 打赏
  • 举报
回复
微软的很多样板作品去研究下知道有这么回事情有这些功能可以用还是不错的,照作就没有必要了,有些地方有些做作
wcmj 2006-06-19
  • 打赏
  • 举报
回复
合并在一起的做法还是不要的好
我就不信你的系统不升级或做某些逻辑上的改变
这就体现出分开的好处了,全写在一起改起来累死你!
fosenfu 2006-06-17
  • 打赏
  • 举报
回复
从代码维护的方便性来看,如果业务逻辑仅仅是简单的数据实体存取,那么将业务类和实体类合并没有太大的问题。而实际上大部分的应用,特别是企业应用,业务逻辑往往比较复杂,而且变化非常快,那么,业务类有必要和实体类分开实现。
Yuna_2z 2006-06-17
  • 打赏
  • 举报
回复
mark
chengbo1983 2006-06-17
  • 打赏
  • 举报
回复
强贴留名
pshy 2006-06-17
  • 打赏
  • 举报
回复
学习
rainhow 2006-06-17
  • 打赏
  • 举报
回复
学习一下.
Ivony 2006-06-17
  • 打赏
  • 举报
回复
应该是结构+函数。
Ivony 2006-06-17
  • 打赏
  • 举报
回复
不过看起来有些退化,退回到结构+方法的C时代去了。
Ivony 2006-06-17
  • 打赏
  • 举报
回复
我觉得微软做的那些东西,都只是一个示例而已,并不是实例。示例就是让你了解一下有哪些功能,示范一下的。实例是要你自己做的。


实体与操作放在不同的文件里面,有时候是与AOP有关的,操作需要考虑Context的问题,然后还有集中的日志记录等。
ofei 2006-06-17
  • 打赏
  • 举报
回复
实体和操作分别放在不同的文件 但是在同一个类里(使用partial关键字) 不会给维护带来困难。
我也没说是两层结构... 一般解决方案里还有个DAL层的
微软的演示项目都有指导作用,因为微软做出来的,很多人就跟着那模式来做
当然,还是培养自己的判断力比较好...
saucer 2006-06-16
  • 打赏
  • 举报
回复
上面回贴说的虽然很有道理,但不能一概而论,要具体问题具体分析,你不看Ruby中的ActiveRecord也很成功么?

cattleknife 2006-06-16
  • 打赏
  • 举报
回复
单一职责原则
是面向对象设计的原则之一,就一个类而言,应该仅有一个引起它变化的的原因。合并实体和操作后,数据库的变更会影响这个类,对于操作的变更也会影响这个类。
cattleknife 2006-06-16
  • 打赏
  • 举报
回复
倒,你不能这样看啊,这违背了单一职责原则。如果这样再进一步,全合并在一层,不是连依赖都省了。
loverpyh 2006-06-16
  • 打赏
  • 举报
回复
学习中
Ivony 2006-06-16
  • 打赏
  • 举报
回复
呃……貌似Membership勉强也能算三层的。
amandag 2006-06-16
  • 打赏
  • 举报
回复
学习
加载更多回复(10)

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧