科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道再战MVC(-)

再战MVC(-)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

之所以说是再战,是因为在没有学习设计模式之前已经基于MVC体系结构做过一些项目,主要是小项目,当初理解MVC有一些困难。现在已经把Gof所说的相对简单但是最常见的这些设计模式。

作者:gaolin_bei 来源:CSDN 2008年2月27日

关键字: java MVC

  • 评论
  • 分享微博
  • 分享邮件

在本页阅读全文(共7页)

一个实例

  现在我们已经明白了Java类与MVC各个部分的对应关系,我们可以更加深入一点去分析问题了。下面将要讲述一个小型的使用MVC模式开发的例子。因为JFC十分的复杂,我只能把我的例子局限于一个用户界面组件里面(如果你猜是一个按钮的例子,那么你对了!)

  让我们来看看这个例子的所有部分吧。

  Button组件
  最显而易见的开始的地方就是代表了按钮组件本身的代码,因为这个类是大部分程序员会接触的。

  就像我前面提到的,按钮用户界面组件类实际上就是model和view/controller的之间的黏合剂。每个按钮组件都和一个model以及一个 controller关联,model定义了按钮的行为,而view/controller定义了按钮的表现。而应用程序可以在任何事件改变这些关联。让我们看看得以实现此功能的代码。
 
注:以下代码是我从JDK1.4源代码AbstractButton类中提取出来的,因为查看Jbutton源代码(再次提供JDK1.4在线源代码地址)我们可以发现,它是继承自AbstractButton类的,所以下面的代码是来自AbstractButton的,跟原文有点不一样

1.           /**
2.            
3.                * Sets the model that this button represents.
4.            
5.                * @param m the new <code>ButtonModel</code>
6.            
7.                * @see #getModel
8.            
9.                * @beaninfo
10.        
11.            *        bound: true
12.        
13.            * description: Model that the Button uses.
14.        
15.            */
16.        
17.           public void setModel(ButtonModel newModel) {
18.        
19.               
20.        
21.               ButtonModel oldModel = getModel();
22.        
23.               
24.        
25.               if (oldModel != null) {
26.        
27.                   oldModel.removeChangeListener(changeListener);
28.        
29.                   oldModel.removeActionListener(actionListener);
30.        
31.                   changeListener = null;
32.        
33.                   actionListener = null;
34.        
35.               }
36.        
37.               
38.        
39.               model = newModel;
40.        
41.               
42.        
43.               if (newModel != null) {
44.        
45.                   changeListener = createChangeListener();

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章