工厂模式三层架构

createdatabase 2011-04-03 07:14:15
哪里有关于工厂模式的三层架构呢?之前一直都在学习简单的三层架构,后来看到网上有很多人都用了工厂模式,还有很多接口,我就看不懂了;我不知道怎么去用他,不知道各位能否举例一个简单的例子,比如登陆功能/添加删除修改更改,多谢各位
...全文
994 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
createdatabase 2011-04-05
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 woshierbiluanzi 的回复:]

其实理解起来还不是很难的,三层我还是能理解的, 但是就是做asp页面 我感觉好烦。刚刚学所以有点难。
[/Quote]

三层架构的基本我会理解了。就是加了一个工厂后,就有有点蒙呢
woshierbiluanzi 2011-04-04
  • 打赏
  • 举报
回复
其实理解起来还不是很难的,三层我还是能理解的, 但是就是做asp页面 我感觉好烦。刚刚学所以有点难。
  • 打赏
  • 举报
回复
这个,微软的PetShop就是典型的例子
去搜索一下吧
createdatabase 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 chuntian1983 的回复:]

百度搜下动软代码生成器。可以生成这种模式。
[/Quote]

下载过了,也看了半天,大体能明白,现在就是不怎么使用它
createdatabase 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 xuyilin1009 的回复:]

基于工厂模式的架构是这样的:
实体层:定义了所有要处理的类,当然是[serializable]
DAL层:定义了系统要处理的接口
DBFoctory层:接口实例化
接口实现层:对所有DAL层的接口的实现,就是执行数据库查询和更新
BLL:定义了系统所提供的服务。

不明白问我~~前期是给我分~~
[/Quote]

这个没问题,只要帮我弄明白了,怎么运用工厂就可以了;最好有一个例子来说明下
createdatabase 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wxr0323 的回复:]

三层
有DAL数据层、BLL逻辑层、Model实模层 web(UI)

Model里面大部分都是实体。

DAL是只与数据库交互的都在DAL里

比如
C# code
public class userdb
{
public bool adduser(Model.user model)
{
SqlConnecti……
[/Quote]

上述的例子我自己也做过,我看的懂,就是不怎么懂,为什么还要加入工厂
  • 打赏
  • 举报
回复
百度搜下动软代码生成器。可以生成这种模式。
Jack2013tong 2011-04-03
  • 打赏
  • 举报
回复
看下petshop的吧,分层只是结构上的分层和架构上的方便,
xuyilin1009 2011-04-03
  • 打赏
  • 举报
回复
基于工厂模式的架构是这样的:
实体层:定义了所有要处理的类,当然是[serializable]
DAL层:定义了系统要处理的接口
DBFoctory层:接口实例化
接口实现层:对所有DAL层的接口的实现,就是执行数据库查询和更新
BLL:定义了系统所提供的服务。

不明白问我~~前期是给我分~~
子夜__ 2011-04-03
  • 打赏
  • 举报
回复
三层
有DAL数据层、BLL逻辑层、Model实模层 web(UI)

Model里面大部分都是实体。

DAL是只与数据库交互的都在DAL里

比如
 public class userdb
{
public bool adduser(Model.user model)
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["sqlconn"].ConnectionString);
con.Open();
using (SqlCommand cmd = new SqlCommand("INSERT INTO qzzm_user(Name) VALUES(@Name)", con))
{
cmd.Parameters.AddWithValue("@Name", model.name);
if (cmd.ExecuteNonQuery() > 0)
return true;
else return false;
}
}
}
//这里都是数据库操作了!


BLL是完成业务逻辑 处理业务逻辑 需要与数据库交互啊 这样就要调用DAL里的方法了。。

比如
 DAL.userdb db = new DAL.userdb();
public bool adduser(Model.user model)
{
return db.adduser(model);//这个只是调用db.adduser(model)这个方法
}
//这个里面没有业务逻辑 如果有的话要复杂的多。。


web(UI)

是接受业务层 处理后的逻辑。。

比如
  BLL.userbll ub = new BLL.userbll();//实例业务逻辑类
Web.showmessage sm = new Web.showmessage();
if (ub.adduser(us))//调用ub.adduser(us) 这个方法返回BOOL啊 就是处理后的信息


这就是三层

WEB调用业务逻辑(BLL)

BLL调用 数据库访问(DAL)

然后处理数据返回给WEB

工厂很简单 通过工厂返回你的DAL
种草德鲁伊 2011-04-03
  • 打赏
  • 举报
回复
其实用不用工厂模式,接口什么的,跟增删查改没什么联系的。
wlf535944903 2011-04-03
  • 打赏
  • 举报
回复
http://www.maticsoft.com/动软 代码生成器 看个这个例子 自己动手写写 就差不多了
createdatabase 2011-04-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 swde125 的回复:]

我觉得最简单还是去下源码来看

然后结合动软去生成一下工厂模式

源码就去51aspx.com
下载就行
[/Quote]
是啊,有时候我也是这样子的,比较有些东西还不怎么懂,如果能在论坛看些代码,那就更加好了。希望你有那方面的程序,可以在论坛发帖,多谢
swde125 2011-04-03
  • 打赏
  • 举报
回复
我觉得最简单还是去下源码来看

然后结合动软去生成一下工厂模式

源码就去51aspx.com
下载就行

62,046

社区成员

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

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

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

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