Java做老大很久了,而Java的表示层难用也已经很久了。
经过数年的折腾,Java已经证明了自己在服务器端的巨大优势,“强”而“稳”,高扩展、高安全、高维护。实在是面对复杂应用的架构师之首选。
此外,Java起家时一直所追求的平台无关,也瓜熟蒂落。有跨平台需求的各大产商们,纷纷用平台无关的Swing构造自己的基础软件产品。各类智能设备,也都大量应用Java技术。
不论如何,Java确实已经成功地证明了自己。这种虚拟机层面的技术亦将长久地生存发展下去。
然而再伟大的技术也有缺憾,正如伟大的C语言始终难做GUI。而Java最大的遗憾,也是在表示层。
表示层变化太快了,以至于多高深的理论也总是在这里碰钉子。反倒是缺乏“技术含量”的入门技术不断地在现实领域获得成功。VB、PB、Delphi、ASP(包括ASP.NET)、PHP、JavaScript、Flash,正是这些不够OOP的东西,这些不需要奢谈“模式”的东西,总在刺激着理论家的神经。或许这一块,本就是人民群众充分发挥想像力和创造性的领域,正如一切高深的社会经济理论,在现实世界的发展面前总是那么苍白无力。
表示层的工作还是太大了,循规蹈矩的好学生Swing,总是搞不赢WinForm这类时常开点小差的差生,更是远远不如他的前辈VB、PB这些小流氓。而高傲的Java Web层,凝聚了各种“模式”的精华,还是难以承受ASP、PHP这类无法无天的混混之冲击。毕竟在表示层,计划不如变化快,什么继承、封装、重用,在现实中其实并不重要。因为很快就地震了,一切都要重盖了。说实在的,这个领域,只要少出点Bug,多设计不如少设计,因为后者来得更快,而且更容易找人来做。
这个结论可能很多要引起公愤了。不过别急,大家回头想一想,以前大家做这行的时候,不是流行说35岁就Game Over了吗?可坚持到这把岁数的老同志其实现在很值钱。他们在做什么?在做服务端、在做底层、在做设计。这些高级的活儿,不干够年岁,不见多识广是做不了的。
即使是做表示层的,那是在做研究(如dlee),而非拖拉控件这种事情。
至此,笔者斗胆做一结论:表示层要成功,拼的是易用性。类似的功能条件下,谁简单谁赢。
分享到:
- 2007-07-02 15:15
- 浏览 2735
- 评论(5)
- 论坛回复 / 浏览 (3 / 3780)
- 查看更多
相关推荐
在JavaServer Pages(JSP)开发中,创建表示层类是一种常见的实践,它有助于将业务逻辑与视图层分离,提高代码的可维护性和可重用性。本章节将深入探讨如何有效地利用JSP创建表示层类,并分享一些实用的编程技巧。 ...
思维导图的模式展示给你,java web技术,简单易懂,大牛总结 ,更多资源到我BLOG free get
Java Web表示层技术 思维导图.png
在实际项目中,文件`InterfaceAuthManageServiceImpl.java`可能包含了服务层的接口授权管理实现,它可能会使用到上述的多层嵌套循环、参数转换以及数据库操作。而`model_manage_response_group_config.sql`可能是...
所谓“三层架构”,一般是指将应用程序分为表示层(UI层)、业务逻辑层(BLL层)和数据访问层(DAL层)。这样的分层设计能够使各个层次各司其职,降低各层间的耦合度,便于后期维护与升级。 #### 一、概述 根据...
Java三层架构通过将应用程序划分为表示层、业务逻辑层和数据访问层,不仅提高了代码的复用性和可维护性,还增强了系统的灵活性和可扩展性。对于大型或复杂的系统而言,三层架构是一个非常实用的选择。通过合理的设计...
1. **平台无关性**:Java虚拟机提供了一层抽象,使得Java程序可以不依赖于特定的硬件平台,降低了软件移植的成本。 2. **安全**:JVM对字节码进行了验证,确保其不会执行恶意代码,增强了系统的安全性。 3. **动态...
java.nio.channels 定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器。 java.nio.channels.spi 用于 java.nio.channels 包的服务...
Hibernate允许开发者用JAVA对象来表示数据库中的表,通过对象的CRUD(创建、读取、更新、删除)操作实现对数据库的操作,降低了数据库操作的复杂性。 在学习三层架构的购物网站时,特别需要注意以下几点: 1. 模块...
### JAVA生成树Service层代码详解 #### 背景与目的 在开发具有层次结构的数据展示功能时,例如产品分类、组织架构等场景,我们常常需要构建一个可视化的树形结构来直观展示这些数据。本篇文章将深入探讨如何在Java...
业务逻辑层的职责是确保应用程序的业务规则得到正确执行,同时保持与表示层和数据层的解耦。 3. 持久层(Model/DAO):持久层主要负责数据的存储和检索,它与数据库进行交互。在Java中,持久层通常使用ORM(Object-...
1. 表示层(Presentation Layer):这是用户与系统交互的界面,负责处理用户的输入,展示系统的反馈结果。在本系统中,可能包含Web页面或者桌面应用程序,提供友好的图形用户界面,使得图书馆工作人员可以方便地进行...
【标签】"java 软件/插件" 指出该资源与Java编程语言相关,同时可能是某种软件或插件的形式存在。在Java领域,软件通常指的是Web应用程序,而插件可能是用于扩展系统功能的组件。 【压缩包子文件的文件名称列表】...
Java MVC三层架构是一种广泛应用于开发Web应用程序的设计模式,它将应用程序分为模型(Model)、视图(View)和控制器(Controller)三个主要部分。这种架构旨在提高代码的可维护性、可扩展性和模块化。 1. **模型...
在Java企业版(J2EE,现称为Java EE)中,Web表示层是用户与应用程序交互的界面,它负责将后端数据以直观、友好的形式展现给用户。本篇文章将深入探讨J2EE Web表示层的核心技术,尤其是JavaServer Pages(JSP)和...
当用户发送第一次请求的时候,验证用户登录,创建一个该qq号和服务器端保持通讯连接得线程,启动该通讯线程,通讯完毕,关闭Scoket。 QQ客户端登录界面,中部有三个JPanel,有一个叫选项卡窗口管理。还可以更新...
Java三层架构和MVC设计模式在IT开发领域中是两种非常重要的软件开发方式,它们主要用于构建可维护性高、结构清晰的应用系统。 首先,我们来理解Java三层架构。这一架构通常包括表现层(Presentation Layer)、业务...
- **Floor类**:表示每一层楼,包括楼层号、怪物、陷阱、物品等信息。 - **Monster类**:用于定义怪物,有生命值、攻击力等属性,并包含攻击方法。 - **Item类**:表示可拾取的物品,如药水、装备等,可以增加...
- 完全二叉树(Complete Binary Tree):除了最后一层外,所有层都被完全填充,且最后一层的节点尽可能地靠左排列。 - 满二叉树(Full Binary Tree):每个节点要么有两个子节点,要么没有子节点,即没有只有一个...
类的继承格式、继承的关系表示图、访问限制、子类对象的实例化过程、方法的覆写、属性的覆盖、Super关键字、this与super的区别