程序主界面的作用

原创 2007年09月25日 11:14:00
       在桌面程序中。都会有一个主界面。从我经历的 项目来看,每个主界面都包含了大量的方法。我以前参与过的一个项目的MainForm的代码量居然有2W行。造成这个问题的原因有两个: 第一是 主界面是系统的主控制器。系统的大部分功能都在这里展现出来。大量的菜单、工具条当然需要大量的代码来构造,挂接事件。处理事件。第二个原因和VS.net有关系。一般我们都通过VS.net工具直接挂接事件。这样事件的响应方法就在主界面里面。大部分时候我们都没有很好的将业务方法和界面分离。这样主界面里的代码量庞大就是必然的了。
       除了代码量巨大以外,它还带来一些问题,首先这样大量的代码要维护其可读性是一项大的挑战。其次由于代码都对在一起,不同子系统之间的互相依赖也被强化了。
       在开发了多个项目以后,我很想改变这种做法。我想在的想法是主界面就是一个控件容器。我们把控件放置在这个Form上面就可以了。至于它要挂接的内容都在别的地方处理。
        目前我的具体做法是:
        1.在主界面中声明所有的控件 (都为 internal)
        2.在主界面中提供对系统各个部分的数据模型的访问方法
        3.对于每一组控件提供一个UI类来负责构建控件、响应事件等工作。
        4.业务方法都封装为特定的类,这些类在第三部的 UI类中的事件响应代码中完成对数据模型的更新。
  
        使用这种方法有一个很显著的问题.那就是主界面上的所有控件的访问级别至少必须是internal。有可能还需要public .在开始考虑使用这种方法的时候。觉得不应该将这些东西暴露出来。但是实际上除了UI类以外没有别人需要访问这些控件。所以这样做是可以的。如果为每个控件写一个geter/seter的,那代码量就大了。而且会显得多此一举。因为我们分解主界面的主要目的是减少主界面的代码量,提高代码的可读性、降低不同子系统之间的耦合。
     而这些UI类本身对主界面有依赖,以及关系紧密的子系统互相之间有所依赖也是可以的。

日积(Running)月累(ZSSURE):WCF学习之“通过事件绑定控制WinForm宿主程序主界面控件”

背景:WCF服务需要寄宿到相应的可运行进程中执行,常见的有四种寄宿,分别是控制台程序、WinForm程序、IIS和Windows服务。之前学习老A博客和《WCF全面解析》时最常用到的是控制台寄宿,近期...

手机安全卫士开发系列(6)——程序主界面

主界面的布局文件

为应用程序主界面添加停靠面板

此例向导为使用Visual Studio 6.0 应用程序向导制作具有可停靠面板的MDI程序. 对于最新版本的 Visual Studio . NET这种技巧同样生效. 使用MFC AppWiz...

Android小项目之十一 应用程序的主界面

------- 源自梦想、永远是你IT事业的好友、只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多...

android实现加载的progressDialog之后跳转到程序主界面

转载:http://blog.csdn.net/mars2639/article/details/6615424#comments 因为考虑到有些程序加载时间相对较长,所以在启动主界面之前,...

性格色彩测试android程序开发之一--主界面

思路:主界面只有一张背景图片,两个按钮,当按钮按下的时候,按钮的颜色会发生相应的变化,按下的分成了三个状态,default,pressed和selected。 在Activity中,对butto...

Android笔记:实现加载的progressDialog之后跳转到程序主界面

因为考虑到有些程序加载时间相对较长,所以在启动主界面之前,实现一个加载的progressDialog对话框来延缓,相对来说可以提高用户体验度。如果是直接进入主界面,即activity,界面因为加载时间...
  • Mars2639
  • Mars2639
  • 2011年07月18日 22:33
  • 19332

【微信小程序开发•系列文章五】主界面

我们之前的demo中,页面都是很简单的一个主页面的结构。没有底部菜单,没在意页面的结构。而我们平时接触的app都有各种各样的页面交织组合在一起,所以这一篇文章中,我们开始来关注我们的页面结构。 先来看...

Visual C++编程技巧---程序主窗口界面

180.如何创建一个向导式的对话框窗体 181.如何创建一个属性页的对话框窗体 1 82.如何创建列表视图类型的程序窗体 183.如何创建不规则的对话框窗体 184.如何创建圆角状的非矩形窗体...
  • HiRuyue
  • HiRuyue
  • 2013年04月18日 19:30
  • 987

ARCGIS Engine EXE程序 执行不了 不能弹出主界面

在介绍问题之前,我先说一下我的工作环境:VS2010,VS2013,ARCGIS Engine 10.1,DevExpress13.2,C#语言 问题是这样的:我开发的WinForm程序编译好后, ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:程序主界面的作用
举报原因:
原因补充:

(最多只允许输入30个字)