麻烦大家看下这样建立工厂架构是否正确?谢谢

Netcean 2010-06-27 09:03:03
界面层UI-----引用业务逻辑层、业务实体层、
业务逻辑层BLL---引用业务实体、接口、数据工厂
业务实体Model
数据工厂DataFactory(数据工厂,里面都是一些反射,通过反射来定位到相应的类方法中)---引用接口、数据操作实现层
常用类Common
接口层IDAL(接口层)---引用实体层、
数据操作实现层SQLServerDal(所有具体的数据操作都在这实现,增删改查)----引用接口层、数据库操作类
数据库操作类:DBUinity


调用数据的流程:
UI->BLL->DataFactory->根据反射接口->数据库操作实现层->数据库操作类


===========
谢谢大家,麻烦给点评点评下。谢谢
...全文
92 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lanyur 2010-06-27
  • 打赏
  • 举报
回复
兄弟,B_News.Exists()你注释了return呀
Netcean 2010-06-27
  • 打赏
  • 举报
回复
谢谢。我现在在做类似的工厂模式时出现了个问题。

BLL
引用DALFactory

B_News.cs
using DALFactory;
using Model;

namespace BLL
{
public class B_News
{
private INews dal = DataAccess.CreateNews();

public bool Exists(int NewsID)
{
this.dal.Exists(NewsID);
//return false;
}
}

===============
DALFactory
引用Model

DataAccess.cs
namespace DALFactory
{
public sealed class DataAccess
{
private readonly static string path = "SQLServerDAL";

private DataAccess()
{ }

public static INews CreateNews()
{
string TypeName = path+".News";
return (INews)Assembly.Load(path).CreateInstance(TypeName);
}
}
}

INews.cs
namespace DALFactory
{
/// <summary>
/// 接口层INews 的摘要说明。
/// </summary>
public interface INews
{
#region 成员方法
/// <summary>
/// 是否存在该记录
/// </summary>
bool Exists(int NewsID);
}
}
==================
SQLServerDAL
引用DALFactory

News.cs
namespace SQLServerDAL
{
public class News : INews
{
public bool Exists(int ID)
{

return false;
}

}
}

=========
这是我的代码,运行时提示
错误 1 “BLL.B_News.Exists(int)”: 并非所有的代码路径都返回值 B_News.cs 13 21 BLL
========
各个项目名称我都检查过了,都是一样的。在网站的BIN目录下也有各个类库的DLL文件。请教大家是怎么回事?BLL层好像无法通过反射到达SQLServerDAL层中的方法
右击BLL层中的Exists方法选“转到定义”时,是会跳到DALFactory中的接口定义
liujintaozyc 2010-06-27
  • 打赏
  • 举报
回复
三层是一种界面调用层次 工厂是一种模式
就类似于汽车一样 我们看的汽车工厂里直接就有轮胎,发动机等具体他们怎样制作不管心 关心的是这些零部件组件 那些零部件就是我们底层的一些类
wuyq11 2010-06-27
  • 打赏
  • 举报
回复
可以这样使用
三层主要是界面设计、事件处理中没有跟具体数据库绑定
BLL根据配置参数动态装入 IClass的某种类型的实例
Netcean 2010-06-27
  • 打赏
  • 举报
回复
昨天看球,还没起床?
huangwenquan123 2010-06-27
  • 打赏
  • 举报
回复
public bool Exists(int NewsID)
{
this.dal.Exists(NewsID);
//return false;
}

不是void型要有返回值
辰爸 2010-06-27
  • 打赏
  • 举报
回复

public bool Exists(int NewsID)
{
this.dal.Exists(NewsID);
//return false;
}


必须要有一个返回值

62,266

社区成员

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

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

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

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