关闭

网易云课堂Java进阶学习笔记系列04 -- 第8周 控制反转与MVC模式

标签: Java基础mvcGUI网易云课堂内部类
276人阅读 评论(0) 收藏 举报
分类:

第八周 控制反转与MVC模式
但是我们打算借助GUI(图形化用户界面)来介绍两个设计思想:控制反转和MVC设计模式。

部件是创建GUI的独立部分,比如像按钮、菜单、菜单项、选择框、滑动条、文本框等。
Java类库中有不少现成的部件。

控制反转与Swing的消息机制

监听器 – 接口 – 接口函数 – 实现接口的类的对象 – 运行时动态对象 注册事件对象,调用接口函数 – 接口统一,实现各异 — 方法体寄存于实现该接口的类的接口函数方法体

  • 有控件公布一个监听者接口和一对注册/注销函数
  • 你的代码实现那个监听者接口,并将监听者对象注册到控件上
  • 一旦控件被点击,就会反过来调用你所创建的监听者对象实现的接口函数。—通过接口实现在一个类A里面执行另一个类B里面的函数且该函数一般会用到这个类B的数据。从而实现了一次类之间的数据通信,且不需要把类B的对象引用(类的代码中用this指代)传递给A就能使用到B中的所有数据、成员。

内部类

内部类就是指一个类定义在另一个类的内部,从而成为外部类的一个成员。
因此一个类中可以有成员变量、方法,还可以有内部类。
实际上Java的内部类可以被称为成员类,内部类实际上是它所在类的成员。
所以内部类也就具有和成员变量、成员方法相同的性质。
比如,成员方法可以访问私有变量,那么成员类也可以访问私有变量了。
也就是说,成员类中的成员方法都可以访问成员类所在类的私有变量。
内部类最重要的特点就是能够访问外部类的所有成员。

MVC设计模式

MVC.png

其中, 示例代码
kechengbiao.png
运行结果:

运行结果.png

完整的代码示例见:
https://github.com/menglanyingfei/MOOC_Wengkai_Java/tree/master/code/kechengbiao

写在最后:
1. 写这篇博客时听的歌曲
http://music.163.com/#/song?id=400579141
2. 写作时间
2017/07/19
23:48:00
3. 博客链接
http://blog.csdn.net/menglanyingfei?viewmode=contents
4. 一些感慨
最近一段时间, 突然发现了: 在文学上, 这句话很经典 ,
悲剧就是把美好的东西毁灭给人看. – 鲁迅
生活中, 有各种开心与悲伤, 其实, 在人内心深处是有一种对美好事物的向往,
由于它的存在, 才产生了各种目标与信念. 但人真是一种奇怪的生物, 往往对自己现在或者所拥有的事物
不太注意和爱惜, 只在失去之后, 才知道它的珍贵!
这或许, 谈不上一种毁灭, 但不懂得珍惜, 也是让现在的自己所拥有的美好事物一点一点地失去……
博主并不是故意装文艺范, 而是对生活和人生的一点思考, 也希望看到这段文字的您有所感触和思考.

1
0
查看评论

控制反转与依赖注入模式

Java 社群近来掀起了一阵轻量级容器的热潮,这些容器能够帮助开发者将来自不同项目的组件 组装成为一个内聚的应用程序。在它们的背后有着同一个模式,这个模式决定了这些容器进行组 件装配的方式。人们用一个大而化之的名字来称呼这个模式:“控制反转”( Inversion of Control,IoC...
  • zhoudaxia
  • zhoudaxia
  • 2014-06-27 22:54
  • 6571

C++第八周mooc在线测评—第8周 按址操作(2)——指针与数组、字符串、结构体,动态数组

//利用指针输出数组中的元素(20分) //题目内容: //编写程序,把从1到n的n个整数赋予某个int型数组,然后用int型指针输出该数组元素的值。, // //输入格式: //输入参数n // //输出格式: //输出是1到n n个数组元素, 注意最后一个元素之后没有空格。 // //输入样例:...
  • qq_28833741
  • qq_28833741
  • 2016-11-06 19:23
  • 1538

网易云课堂-java语言程序设计进阶作业2

public class Main { public static void main(String[] args) { java.util.Scanner in = new java.util.Scanner(System.in); Clock clock = new Clock(in...
  • jtengf
  • jtengf
  • 2015-07-22 15:07
  • 588

JAVA进阶 面向对象程序设计——第7周 控制反转与MVC模式(数据,表现,控制,分离)

借助GUI来介绍两个设计思想:控制反转和MVC设计模式 布局管理器(layout manager)实现 事件处理是用来响应用户输入的技术 7.1 控制反转 7.2 MVC模式 。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...
  • qq_35996868
  • qq_35996868
  • 2016-09-12 21:44
  • 261

网易云课堂java进阶 编程题

题目内容: 设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。 这个类的构造函数是: Fraction(int a, int b)     构造一个a/b的分数。 这...
  • yzxzsp11
  • yzxzsp11
  • 2015-07-15 15:29
  • 770

网易云课堂java程序设计(第一周编程作业)

题目内容: 写一个将华氏温度转换成摄氏温度的程序,转换的公式是: °F = (9/5)*°C + 32 其中C表示摄氏温度,F表示华氏温度。 程序的输入是一个整数,表示华氏温度。输出对应的摄氏温度...
  • woshi512
  • woshi512
  • 2014-12-30 15:35
  • 1110

【网易云课堂】Java语言程序设计进阶----第一周编程作业

设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。 这个类的构造函数是: Fraction(int a, int b) 构造一个a/b的分数。 这个类要提供以下的功能: double toDouble(); 将分数转换为double Fractio...
  • u012138605
  • u012138605
  • 2017-06-10 16:11
  • 178

Coursera机器学习-第八周-Unsupervised Learning(K-Means)

Clustering Unsuperivised Learning:Intruduction 典型的Supervised Learning 有一组附标记(y(i)y^{(i)})的训练数据集, 我们想要找出决策边界,藉此区分开正(positive)或负(negative)标记数据。 ...
  • dingchenxixi
  • dingchenxixi
  • 2016-06-12 09:30
  • 2051

玩转Spring MVC (一)---控制反转(依赖注入)

Spring的核心是控制反转,什么是控制反转呢?,小编浅述一下自己的拙见,有不当之处还希望大家指出。 控制反转(IOC),也可以叫做依赖注入(DI),这两个词其实是一个概念。 控制反转,那是什么控制被反转了呢?Martin Fowler总结出是“依赖对象的获得”被反转了。 什么是“依赖对...
  • u012116457
  • u012116457
  • 2015-02-02 23:11
  • 2986

Spring进阶之路(1)-Spring核心机制:依赖注入/控制反转

我们经常会遇到这样一种情景,就是在我们开发项目的时候经常会在一个类中调用其他的类中的方法,来完成我们期望的任务,大部分的情况下往往会采用在当前需要的这个类里面new一个实例出来,然后调用他的方法,那么这样的话会有个问题,就是有一天我想改变下这个类,改为其他的名称,那么这时候必须要做的是同时去调用方的...
  • wangyang1354
  • wangyang1354
  • 2016-02-28 16:41
  • 2938
    个人资料
    • 访问:29596次
    • 积分:1322
    • 等级:
    • 排名:千里之外
    • 原创:86篇
    • 转载:11篇
    • 译文:0篇
    • 评论:12条
    个人说明
    个人很喜欢的一句话, (摘自网络):
    时光荏苒,祝愿不要忘记曾经的初心

    本人现在是一名大二软件工程专业的学生, 每月会坚持更新, 本博客会总结, 整理, 分享个人学习的相关技术知识, 用来记录自己不断进步的历程, 当然内容会以Java为主线.

    虽然是技术博客, 但毕竟是人, 也有自己的情感, 所以, 有时也会分享一些有用的学习资源和一些学习经验和方法, 同时也会写一些其它方面上自己的感受和想法!

    或许我的博客不是写得非常好, 但每一篇文章绝对会用心写! 如果, 你发现有不足或者错误之处, 非常欢迎指出, 当然也欢迎各位小伙伴们来交流技术和学习感受.

    每天进步一点点, 共勉!

    博客专栏
    最新评论