`

Swing是MVC设计的典范(转载)

阅读更多
转载自http://blog.sina.com.cn/swingjava

   不管你的项目是否用到了Swing技术,我都要说,Swing是一个设计优秀的Java包,它充满了大师的智慧。如果你学了Java却连一个 Button还不会写,就象你学习Visual Basic却不会用Button,那可绝对是不能被原谅的。Swing技术的应用已经在国外大行其道,由于java的免费、易学以及大家对于java技术的充分信赖,好多公司早早的就把应用程序的一切,从后台服务到前台人机交互界面,统统移到了java开发上。Swing出现了快10年了,凭借其先进的设计思想,一直未曾落后于哪种语言的界面开发技术,使用和理解Swing的设计思想,对软件开发者大有裨益。

    Swing的设计是MVC的典范。虽然MVC的概念有点泛滥,可是真正能够理解并熟练掌握、在设计和开发里面自然流露的并不多见。记得用VC ++开发程序时候,MFC向导也是生成Document和View两个类,当时一直奇怪为什么这么绕圈子。再看Swing的设计,则到处充满了MVC的痕迹。仔细研究Swing中事件监听、Model-View分离、Renderer/Editor机制、可插拔的LookAndFeel等机制,简直就是一门艺术,充满了美感。而如果你非常痛恨这些设计并觉得他们怪异,很可能你是刚从VB或者Delphi转过来,这些快速开发工具帮助了你也“害”了你。 

    Swing设计的不错,不过可能过度学术化的设计也使得Swing跑起来并不灵巧,学习难度也大。这客观上确实使得Swing一直没有被广泛使用,而且广受诟病。记得以前“Swing有什么成功的应用吗?”之类的帖子一直是热门话题。IBM等则趁机抓住小辫子弄了SWT吸引了不少人,使得 Java GUI技术面临分裂的危险。  

    不过随着JAVA的不断升级和优化,Swing的速度一直在提高,美观性也在改善,基于Swing的成功应用也越来越多了。关于Swing是否消亡或被SWT代替或是否能作桌面应用的争论逐渐少了。不过喜欢并精通Swing技术的开发者,尤其在国内,依旧非常少。  

    好在情况在转好。Sun正意识到Eclipse和SWT所带来的威胁,下了大力气发展NetBeans,其最新版本对Swing GUI可视化设计的支持已经超过了所有对手,其Rich Client框架也走向成熟,这对Swing的发展和应用是一个很大的推动。随着WEB热潮的减退,人们又更多的开始理性的思考B/S和C/S架构的选择,某些领域Swing技术已经成为首选的解决方案。随着JGoodies、JIDE、TWaver等优秀Swing产品的不断涌现,Swing会以更快速度在桌面应用中普及。 
分享到:
评论

相关推荐

    阳光酒店管理系统(Java版)

    读者可以通过阅读源代码,了解系统内部的工作机制,掌握Java Web开发的实践技巧,例如MVC设计模式的应用、异常处理、事务管理等。同时,全面的文档资料,如需求分析报告、概要设计文档、系统实现说明等,为理解和...

    java源码:JAVA帮助视图组件库 Help GUI 1.1源代码.rar

    6. **设计模式**:源代码中可能会体现一些经典的软件设计模式,如模型-视图-控制器(MVC)、观察者模式等,这些都是理解大型Java项目结构的关键。 7. **文档与注释**:一个高质量的开源项目通常会有详尽的注释和...

    java源码:学生成绩系统(图形界面).rar

    4. **MVC设计模式** - 可能采用了模型-视图-控制器架构来组织代码,分离业务逻辑、数据模型和用户界面。 5. **异常处理** - 在程序中正确捕获和处理可能出现的错误或异常,确保程序的健壮性。 6. **文件操作** - ...

    Java连连看V1.7

    今天我们将深入探讨的是一个名为"Java连连看V1.7"的作品,它不仅是一个趣味横生的小游戏,同时也是Java编程实践的典范。 "Java连连看V1.7"的更新内容主要包括两个关键特性:增加最高分功能和记录文件。这两个改进...

    用Java写的一个电信资费管理系统

    总结,这个电信资费管理系统是Java初学者实践项目的一个典范,涵盖了Java语言的核心概念、面向对象编程、数据库操作、设计模式等多个方面。通过分析和理解这个系统,读者可以加深对Java编程的理解,提高实际开发能力...

    Java固定资源管理系统

    Java固定资源管理系统通常采用MVC(Model-View-Controller)设计模式,这种模式将业务逻辑、数据模型和用户界面分离,使得代码结构清晰,易于维护。系统可能包含以下主要组件: 1. 数据模型(Model):用于处理数据...

    java做的宿舍管理系统

    此外,系统的美观界面通常意味着采用了Java Swing或JavaFX这样的图形用户界面库,提供了丰富的组件和设计工具,使得用户能够直观地进行操作,提升了用户体验。可能还有搜索、排序、过滤等功能,方便用户查找和处理...

    FMS(客户账户管理)

    由于使用Java编写,FMS可能采用了MVC(Model-View-Controller)设计模式,将业务逻辑、数据模型和用户界面分离,有利于代码的维护和扩展。数据库层面,可能会使用MySQL或Oracle等关系型数据库来存储客户信息和交易...

    研究生科研信息管理系统

    在开发过程中,采用MVC(Model-View-Controller)设计模式可以有效地解耦代码,使系统更易于维护和升级。 总之,"研究生科研信息管理系统"是Java技术与MySQL数据库结合的典范,它为科研工作的信息化进程提供了有力...

    javaSE代码实例

    6.1.1 面向对象程序设计思想的诞生 77 6.1.2 面向过程与面向对象思想的对比 78 6.1.3 面向对象技术的背景和特点 79 6.2 类的定义与对象的创建 80 6.3 成员变量 81 6.3.1 成员变量的开发与使用 81 6.3.2...

    JAVA自学之路

    在JavaSE完成之后,可以试着完成一些小项目,同时关注一下设计模式的内容,不必强求自己能够完全掌握各种细节,往前走吧。 掌握一种编程工具,比如说Eclipse。 数据库,可以选择使用Oracle或者MySQL开始 。 JDBC...

    RestaurantManagementProgram:餐厅库存管理程序

    程序可能采用MVC(Model-View-Controller)设计模式,模型层负责业务逻辑和数据处理,视图层展示用户界面,控制器层协调模型和视图的交互。 五、技术挑战与优化 在实际开发过程中,可能会面临数据同步、并发控制、...

Global site tag (gtag.js) - Google Analytics