一个关于视图和业务层分离的讨论,希望大家畅所欲言!

aqbeyond 2012-02-27 02:45:38
最近做一个Winform程序,希望将Form的视图层和业务层之间分离开,加入一个Presenter的表示层。
而这个表示层具体的想法就是:
1.尽量降低试图页面中业务处理的代码,而全部都在Presenter层里处理,视图就只是将Presenter层返回的数据模型刷新画面或者往Presenter层提交相应的数据模型。
2.页面之间能通过Presenter层访问其他页面,或者底层模块(比如业务层,通讯模块等)也可以通过Presenter层访问页面。
以上就是一个设计思想。
欢迎大家讨论设计方案
...全文
216 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
aqbeyond 2012-07-11
  • 打赏
  • 举报
回复
自己顶一下,看看还有没有其他建议.
aqbeyond 2012-07-11
  • 打赏
  • 举报
回复
把你们的实现思路,在这里说出来好吧.
songhuanle 2012-07-11
  • 打赏
  • 举报
回复
very good!!本公司框架就是这样的,视图层分为 View和Presenter
aqbeyond 2012-02-28
  • 打赏
  • 举报
回复
感谢nonocast的回复,还有其他人吧。
其实在Web方面,微软的MVC。NET是提供的很好的页面强类型转换和Action路由访问控制了。
但Winform还是不好弄,所以提出来一起讨论下吧。
ktei2008 2012-02-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 aqbeyond 的回复:]

个人代码实现是这样:

//接口定义
public Interface IForm1
{
}

//表示层定义
public class Form1Presenter
{
public Form1Presenter(IForm1 view)
{
VIEW = view;
}

public IF……
[/Quote]
与其在这里问,不如自己去看官方解答:
http://msdn.microsoft.com/en-us/magazine/cc188690.aspx
zschuxin123 2012-02-27
  • 打赏
  • 举报
回复
http://download.csdn.net/download/zschuxin123/4093319
大话设计模式可以看下
nonocast 2012-02-27
  • 打赏
  • 举报
回复
MVC啦,交由Controller填充View
不过在winform中同时兼容了Controller/View,有时候很难分清楚
参考我在WPF下的笔记
http://nonocast.cn/?p=1870
aqbeyond 2012-02-27
  • 打赏
  • 举报
回复
个人代码实现是这样:

//接口定义
public Interface IForm1
{
}

//表示层定义
public class Form1Presenter
{
public Form1Presenter(IForm1 view)
{
VIEW = view;
}

public IForm1 VIEW
{
get;
private set;
}
}

//视图窗体类
public class Form1 : Form, IForm1
{
}

可是觉得这样的设计实现一开始所说的第一个功能是可以的,但是第二个功能却不能。
有经验的可以一起讨论一下设计的可行性,一起学习吧。
夜色镇歌 2012-02-27
  • 打赏
  • 举报
回复
aqbeyond 2012-02-27
  • 打赏
  • 举报
回复
就是如何实现啊,或者有什么地方需要该完善吧。
知道就说些,不知道路掠过吧。
中间件概念很广的,而这个只是希望在一个项目框架中的应用而已。
tianxia08 2012-02-27
  • 打赏
  • 举报
回复
请教就说请教,还“讨论”,有什么好讨论的!
muyi66 2012-02-27
  • 打赏
  • 举报
回复
看起来就是一个中间件
qiume 2012-02-27
  • 打赏
  • 举报
回复
普通的三层架构完全可以......
朕赐你肥皂 2012-02-27
  • 打赏
  • 举报
回复
你想说的是,你这个东西就是一个中间件么?

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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