为什么在设计Model的时候会经常出现小弟我中有你你中有小弟我的设计
发布时间:2011-06-23 20:40:04 文章来源:www.iduyao.cn 采编人员:星星草
为什么在设计Model的时候会经常出现我中有你你中有我的设计?
先看一个例子
Event class
[code=C#]
public class Event
{
public Event()
{
ReservedTickets = new List <TicketReservation> ();
PurchasedTickets = new List <TicketPurchase> ();
}
public Guid Id { get; set; }
public string Name { get; set; }
public int Allocation { get; set; }
public List <TicketReservation> ReservedTickets { get; set; }
public List <TicketPurchase> PurchasedTickets { get; set; }
public int AvailableAllocation()
{
int salesAndReservations = 0;
PurchasedTickets.ForEach(t => salesAndReservations += t.TicketQuantity);
ReservedTickets.FindAll(r => r.StillActive()).ForEach(r => salesAndReservations += r.TicketQuantity);
return Allocation - salesAndReservations;
}
public bool CanPurchaseTicketWith(Guid reservationId)
{
if (HasReservationWith(reservationId))
return GetReservationWith(reservationId).StillActive();
return false;
}
public TicketPurchase PurchaseTicketWith(Guid reservationId)
{
if (!CanPurchaseTicketWith(reservationId))
throw new ApplicationException(DetermineWhyATicketCannotbePurchasedWith(reservationId));
TicketReservation reservation = GetReservationWith(reservationId);
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
(VS2005)VB有关继承封装在DLL里窗体
公司里有一套自己的架构并把它封装在叫MFW的DLL里,再学习使用时发现了很多不明白的地方。例如:现...
-
如何让treeview点击结点不刷新页面?
如何让treeview点击结点不刷新页面?
------解决方案--------------------
帮你顶
------解决...
-
单薄的业务层
相信开发WEB信息的人都用到过三层架构
表示层--》业务层--》数据访问层
以前一直开发CS结构最近一年一直在开发...
-
类爆炸问题,对维护也是恶梦?
原意在ERP项目中有设计一个工序类用來描述工序:
public Process
{
public string ProcessNo
{
...
-
怎么实现随意变换网页字体?
想做个艺术签名的网站
字体也找了几个
就是在用户输入“名字”后
把“名字”转换成几个字体显示出来
...
-
关于政府部门网站数据库设计
今天上面安排让我做个政府有关部门的网站,我看了下不是很复杂。可到了设计数据库表时候碰到了些问题...
-
如何自动为录入的人员信息分配用户权限
我这里有两类人,一类是教师,一类是学生,要解决的问题是,在用管理员身份录入教师和学生信息时,...
-
Ext.Net 和ExtJS
现在在做一个项目,用到了EXT.NET 但是有个缺点就是EXT.NET里的时间选择器dateField不能选择时分秒,现在想到用EXTJ...
-
谁手里有现成的提示框样式啊,急用
谁手里有现成的提示框样式或者皮肤啊 还有弹出div层的好看一点的样式 给我个呗 我这急用呢 ...
-
求两个样式的例子...
一个是点击修改弹出修改表单表格 出现在列表上 要特别好看的那种 最好是悬浮的
一个 要弹出的确...