开始接触Java C/S程序与困惑

原创 2007年09月20日 13:41:00

    最近开始学习一个开源的管理系统, 拿到源码,看了几天都不知道所云。在本周一才意识到这套系统是B/S与C/S的混合体。

    我一直从事Web Application的开发与研究,突然回到7、8年前研究的C/S程序,的确有点不适应。看到程序结构不知道从何下手。在网上搜索了一下这方面的资料也有不少,看了很多,还是有如坠云雾之感啊,直到在CSDN的论坛中看到了一个关于 java c/'s 结构讨论的帖子,才有所头绪。了解到java c/s程序一些基本的构成,帖子中提到了以下结构分层:

客户端:  
  View层  
  *XXXApp类,用来监测命令行启动参数,资源释放,提供入口main函数,包含对主要Frame的引用  
  *MainFrame,   XXXFrame类,这些主窗口类  
  *XXXDlg,   弹出式窗口  
  *组件类,使用相关的XXXModel和XXXHandler,比如一个XXXTable,   XXXPanel  
   
  Control层  
  *XXXHandler,就是实现了那些XXXListener的类,响应事件,调用相应的业务类  
   
  Model层  
  *XXXModel,顾名思义,model,包含XXXEntity数据  
  *XXXEntity,业务实体,这个东西类似DTO模式,也有叫BO的,反正简单说就是在层间传递数据的实体  
   
  后面的就比较灵活多变了  
   
  业务层  
  *XXXMgr或者XXXBO,业务类,就是业务了,比如银行转账,更改信用额度什么的。这些会调用EJB,JMS,Socket,JDBC,JCA,WebServices很多东西,为了避免业务层出现创建connection,   statement这些鸟东西,下面再做一个DAO层,还有EJB层等等。  
   
  数据层  
  *DAO层,JMS层,EJB层等等,他们封装底层的操作,比如繁琐的lookup过程等,可以简化业务层。比如用DAO层实现XXXEntity的持久化,JMS层进行消息的处理等。这里的DAO,JMS,EJB等等,如何分层视情况而定。简单的有时候可能就只有一个DAO层调Hibernate,iBatis,JDBC什么的。  
   
  服务器端:  
  *部署EJB,   JMS   Destination,Datasource等等。EJB本身还可以分层,比如各种EJB模式  

 

感觉比较有收获,正在研究中。。。

 

相关文章推荐

简单的java扫雷程序,已运行成功。自己想出来的,有个问题很困惑有望高手能解答。

SeepThunder 简单的扫雷程序:我的方法很简单通过判断9个位置来放雷a[0][0],a[0][9],a[9][0],a[9][9],a[0~9][0],a[0~9][9],a[0][0~9]...

关于c++与java程序运行的效率困惑求解释

解决问题:浙大pat basic level 1021题

java程序 NET C/S TCP UDP

  • 2011年12月28日 20:27
  • 107KB
  • 下载

c/s聊天程序 java

  • 2010年04月26日 21:55
  • 4KB
  • 下载

采用C++的ACE库实现的一个通用的C/S架构通信程序(最终版)

ACE自适配通信环境(ADAPTIVE Communication Environment)是可以自由使用、开放源码的面向对象(OO)框架(Framework),在其中实现了许多用于并发通信软件的核心...
  • csd1208
  • csd1208
  • 2013年05月29日 14:18
  • 619

java面试题解析困惑之一

  • 2010年01月19日 18:40
  • 42KB
  • 下载

基于TCP的 C/S模式 网络应用程序

服务器端代码: #include #include void main() { //加载Windows Socket库 WORD wVersionRequested; WSADATA wsaD...

java面试题解析困惑之二

  • 2010年01月19日 18:41
  • 41KB
  • 下载

C/S程序对于大数据量浏览的解决方案

对于大数据量的用户显示,B/S程序几乎清一色的使用分页的方式呈现,一般的,这种方式下用户会查看前几页的数据,当仍然没有找到他所需要的数据时,他会选择重新查询。 在C/S下的程序中,使用分页方式,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:开始接触Java C/S程序与困惑
举报原因:
原因补充:

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