三层框架的问题:///////////////////晕晕

blackhero 2005-10-11 07:34:50
一个大项目,为什么还建一个BLL层.usl如何调用bll呀,说明一下好吗.我有一点不习惯.

是不是把所有的业务放到一起好管理.


我拿不清楚了/

大家给我说一个好码.

哪有这个好的说明文档.
...全文
253 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
blackhero 2005-10-12
  • 打赏
  • 举报
回复
大哥就三层。我都晕了

这些层我更晕了
cw888 2005-10-12
  • 打赏
  • 举报
回复
要根据具体需求而定:一班分为五层比较合理:表现层;控制层;业务逻辑层;数据实体层;物理实体层。很多j2ee就根据这五层展开的;有的在这五层加安全处理层.
engine198473 2005-10-12
  • 打赏
  • 举报
回复
代码示例:

以下是两种不同处理路径的代码示例:

获取商品目录

表示层调用业务外观层:

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;
}
engine198473 2005-10-12
  • 打赏
  • 举报
回复
Web 层

Web 层为客户端提供对应用程序的访问。这一层是作为 Duwamish.sln 解决方案文件中的 Web 项目实现的。Web 层由 ASP.NET Web 窗体和代码隐藏文件组成。Web 窗体只是用 HTML 提供用户操作,而代码隐藏文件实现各种控件的事件处理。

业务外观层

业务外观层为 Web 层提供处理帐户、类别浏览和购书的界面。这一层是作为 Duwamish.sln 解决方案文件中的 BusinessFacade 项目实现的。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。除了低级系统和支持功能之外,对数据库服务器的所有调用都是通过此程序集进行的。

业务规则层

业务规则层是作为 Duwamish.sln 解决方案文件中的 BusinessRules 项目实现的,它包含各种业务规则和逻辑的实现。业务规则完成如客户帐户和书籍订单的验证这样的任务。

数据访问层

数据访问层为业务规则层提供数据服务。这一层是作为 Duwamish.sln 解决方案文件中的 DataAccess 项目实现的。
shijunbao1 2005-10-12
  • 打赏
  • 举报
回复
学习


----------
新建一qq群:16161709 最大100人 未满,快加入啊!!
lovelvaly 2005-10-12
  • 打赏
  • 举报
回复
业务逻辑层便于将数据访问层中的多个对数据库操作的方法有机地组织到一起,
便于扩展功能.
TrueYi 2005-10-12
  • 打赏
  • 举报
回复
多层的好处很大的原因就是在于维护方便,

你之所以觉得不方便就是因为你还没真正理解层的意义
zhy0101 2005-10-12
  • 打赏
  • 举报
回复
如果项目是你一个人在做,而且不大,而且做完就不管了,而且今后不会还做,用不用就没关系了。
zhy0101 2005-10-12
  • 打赏
  • 举报
回复
好大的话题
wzpwork 2005-10-12
  • 打赏
  • 举报
回复
这是做提高了系统的稳定性,性能,灵活性,如果写一个大的项目就会发会采用三层架构有很大的好处。
blackhero 2005-10-12
  • 打赏
  • 举报
回复
up
NoReady 2005-10-12
  • 打赏
  • 举报
回复
请查看我的回复。
http://community.csdn.net/Expert/topic/4298/4298974.xml?temp=.3524897
renyu732 2005-10-11
  • 打赏
  • 举报
回复
http://www.cnblogs.com/renyu732/archive/2005/06/14/174357.html
ChengKing 2005-10-11
  • 打赏
  • 举报
回复
最大的好处是便于以后维护
Alden 2005-10-11
  • 打赏
  • 举报
回复
可以提高软件的健壮性、灵活性、可重用性、可升级性和可维护性。
关于这方面的资料你可以参考有关分层的资料,这不是一句两句能说明白的。
swordragon 2005-10-11
  • 打赏
  • 举报
回复
把所有的业务放到一起是好管理,可是后期不易维护!!!

举例说明:
1、表示层:a.dll-> Test.a -> getData()
逻辑层:b.dll-> Test.b -> getData()
数据层:c.dll-> Test.c -> getData()

Test为命名空间
a、b、c为类名

2、在a.dll中,
Test.a objB = new Test.b();
xxx = objB.getData();

3、在b.dll中,
Test.c objC = new Test.c();
xxx = objC.getData();
return xxx;

4、在c.dll中,定义一个getData的方法,返回指定的数据
...
return xxx;
qugui 2005-10-11
  • 打赏
  • 举报
回复
就是把一些相对于低层的放到里面去,方便重用。
比如说把数据库操作的放到一起,以后用就不用每个页面都写的。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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