希望各位高手指点小弟一下,万分感激
UP者有分
UP者有分
解决方案 »
- 一个关于三层结构问题
- 关于接口通讯在显示列表时的查询
- treeview添加、删除节点后不刷新,急~~~~~~~~搞了一天都没搞出来
- 如何使用视图状态?
- 有谁能帮我解决devenv.exe异常的问题
- 求助:64位2003 设置asp.net2.0位32位后,访问Oracle数据库报 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
- 创建cookie时遇到的问题.为何一个是1024 一个是1536 .如何创建总为1536的cookie
- 关于文件上的问题
- 不知道CSDN是什么把回答问题的分数加到自己可用分里的?
- 框架网页怎么链接到aspx
- 请问一些控件的AccessKey到底有什么用?
- 无刷新联动:我把无刷新二级联动做在了一个用户控件里:liandong.ascx 中,然后拖入 ab.aspx 页中,可是在这个aspx 页中却取不到联动产生
不过推荐楼主先学Pet Shop
看一个简单的例子就能明白的。
比如大家推荐的PetShop
借鉴了Petshop3。0!
1、新建一个项目。
2、添加,新建项目,类库。(需要多少层就建多少次)
在需要引用的地方加上using即可。
{
if ( dsCommand == null )
{
throw new System.ObjectDisposedException( GetType().FullName );
}
return FillCategoryData("GetCategories", "@CategoryId", categoryId);
} 添加定单 表示层调用业务外观层: public void AddOrder()
{
ApplicationAssert.CheckCondition(cartOrderData != null, "Order requires data", ApplicationAssert.LineNumber);
ApplicationLog.WriteTrace("Duwamish7.Web.Cart.AddOrder:\r\nCustomerId: " +
cartOrderData.Tables[OrderData.CUSTOMER_TABLE].Rows[0][OrderData.PKID_FIELD].ToString());
cartOrderData = (new OrderSystem()).AddOrder(cartOrderData);
} 业务外观层调用业务规则层: public OrderData AddOrder(OrderData order)
{
ApplicationAssert.CheckCondition(order != null, "Order is required", ApplicationAssert.LineNumber); (new BusinessRules.Order()).InsertOrder(order);
return order;
} 业务规则层调用数据层: public bool InsertOrder(OrderData order)
{
//此处省略复杂的处理逻辑
if ( isValid )
{
using (DataAccess.Orders ordersDataAccess = new DataAccess.Orders())
{
return (ordersDataAccess.InsertOrderDetail(order)) > 0;
}
}
else
return false;
}
http://1621.cn/AspNet/ThreeLayer.rar我以前有不懂什么叫三层,照做这个例子做了个小项目就会了!!!
productSystem = new ProductSystem(); categorySet = productSystem.GetCategories(categoryID); 业务外观层直接调用数据层: public CategoryData GetCategories(int categoryId)
{
if ( dsCommand == null )
{
throw new System.ObjectDisposedException( GetType().FullName );
}
return FillCategoryData("GetCategories", "@CategoryId", categoryId);
} 添加定单 表示层调用业务外观层: public void AddOrder()
{
ApplicationAssert.CheckCondition(cartOrderData != null, "Order requires data", ApplicationAssert.LineNumber);
ApplicationLog.WriteTrace("Duwamish7.Web.Cart.AddOrder:\r\nCustomerId: " +
cartOrderData.Tables[OrderData.CUSTOMER_TABLE].Rows[0][OrderData.PKID_FIELD].ToString());
cartOrderData = (new OrderSystem()).AddOrder(cartOrderData);
} 业务外观层调用业务规则层: public OrderData AddOrder(OrderData order)
{
ApplicationAssert.CheckCondition(order != null, "Order is required", ApplicationAssert.LineNumber); (new BusinessRules.Order()).InsertOrder(order);
return order;
} 业务规则层调用数据层: public bool InsertOrder(OrderData order)
{
//此处省略复杂的处理逻辑
if ( isValid )
{
using (DataAccess.Orders ordersDataAccess = new DataAccess.Orders())
{
return (ordersDataAccess.InsertOrderDetail(order)) > 0;
}
}
else
return false;
}
D:\Program Files\Microsoft Visual Studio .NET 2003\Enterprise Samples\Duwamish 7.0 VB
MSDN中也有些文档
C:\Program Files\Microsoft Visual Studio .NET 2003\Enterprise Samples\FMStocks7
是个更好的例子
但问题是这两个项目是按什么方法、什么顺序构建出来的,大家都好像避而不谈。这才是初学者最想知道的啊。
个人认为
楼上诸位大大首次接触duwamish或PetShop
肯定没现在的觉悟
估计中间走了不少弯路、歧途
可能现在回过头来想觉得很可笑,很弱智
但是却不肖写出来罢
什么是初学者?
就是以后要走弯路的
只不过
想借鉴下前辈们的经历
少弯几圈而已