`

/*我的软件工程师项目实训框架系列简介*/

阅读更多

我决定从今日(2007-12-17)起,正式创建"软件工程师项目实训框架系列",我以往及以后经验的精华部分将源源不断地汇入这一系列不断升级的框架之中,进取之路将由此开始......
************************************************************
*郑重声明:本系列及后续升级版权为本人所有,限于学习交流使用*
* ——徐贵军 *
* 2007-12-17 *
************************************************************


目前本系列版本如下1~5:

-----------------------------------------------------------------------------------------------------------------------
系列1/5 高校毕业生管理与分析系统[后台]VC++版

VC++2005(MFC) + Access

该版2006年春开始写,基于中国国家图书馆开发时的部分经验;

该版主要技术点:

(0)MFC框架机制
(1)使用Outlook风格导航,将任何一个对话框装入左边导航之中,这里在对话框的设计上有微妙的技巧,否则根本不会与导航合为一体
(2)调用MFC提供的打印机制打印对话框甚至任何数据;
(3)MFC指针互调
(4)数据库的访问用更加简洁的方式;
数据库最初用SQL Server2000,现改为Access
/*[注意]
这里虽然都是采用ODBC,但是同样的SQL在SQL Server上正常,但是Access未必可以,例如(有待继续验证):
1)select class.specialty_id as specialty_id,class.name as name from specialty,class where specialty.id=class.specialty_id order by name
在SQL Server是可以的,但是在Access中要求
select class.specialty_id as specialty_id,class.name as name from specialty,class where specialty.id=class.specialty_id order by class.name
2)number在Access中说可能为关键字,表中有字段名为number,SQL将无法访问,而SQL Server上却可以
*/
(5)多态树及其他控件的使用方式,尤其是ComboBox、TreeCtrl、ListCtrl、ListBox之SetItemData/GetItemData方法的使用;
重写了TreeCtrl、ListCtrl,另外动态尺寸各控件,分别参见文件夹TreeCtrl、SortListCtrl、Dynamic-size-controls;
pinoutbar为左边导航组件源代码

(6)将EditCtrl控件嵌入工具栏中(这个在JAVA中很容易实现,但是VC++却不易)
注意年份的变化是如何传到各个模块界面上的


/*发布运行

只要配置数据源:graduate,程序即可正常运行(如果自动注册DSN将使启动明显变慢);
测试数据:主界面年份2008->计算机系->应用技术专业-05-1
*/

另外细节见程序中的注释

----------------------------------------------------------------------------------------------------------------------
系列2/5 高校毕业生管理与分析系统[后台]JAVA(Swing)版


NetBeans6.0 +Access

(1)该版基本就是VC++版的翻版(项目结构、类名、界面基本对应相同),是照着VC++版用JAVA写的而已,
虽然极力寻求一模一样,但是左边的Outlook风格导航无法一模一样实现;
(2)和VC++版用同一个数据库,现改为Access,但不用创建数据源(DSN),直接连;
/*[注意]
Oracle/MySQL/SQL Server都有专门jar包JDBC驱动,而Access没有,所以都用JDBC-ODBC连,一般采用手工创建数据源,这里不用,直接连,
但这种连接方式只适合Java Application Project,并不适合 Java Web Project(它可以采用另一种方式(即先取类路径)直接连Access,但是我不建议
使用,我那样使用在数据同步上好象出了问题(至少我目前是这样),如果你非用Access,那就手工创建DSN,我建议用Oracle/MySQL)
*/

(3)使用接口实现Frame1向各JPanel的传递
(4)左边树型控件的填充是读研时写的,特别适合导航数据的加载
(5)采用新的布局管理器GroupLayout
(6)使用集合框架,泛型/自动装箱

(7)侧重各Swing组件使用、JDBC访问数据库


/*有时间将用JDK1.6+Eclipse3.3+Designer_v6.5.1_for_Eclipse3.3重写*/

/*发布运行
将dist目录复制到有JVM的机器的任何位置都可正常运行
测试数据:主界面年份2008->计算机系->应用技术专业-05-1
*/

另外细节见程序中的注释


----------------------------------------------------------------------------------------------------------------------
/*探讨:1/5-2/5部分功能可进一步封装,但是过分封装不利于对基本功的训练,一开始不要过分追求技巧与捷径,没有一定的工作量是练不出来的*/
----------------------------------------------------------------------------------------------------------------------
系列3/5 高校毕业生管理与分析系统[...]Java Web版

/*本版即Struts1.2框架(目前一些大公司的Struts培训都是基于该版本,未来的市场主导为Struts2系列,但框架理念是永恒的)
原理的实现,总的一个Servlet控制器通过类工厂(单例模式)获得Action实例->DAO->dto,并集成AJAX技术*/

[开发工具]JDK6+Eclipse3.3+MyEclipse6+Tomcat6
本版为MVC架构,技术体系为:
html+css+javascript+xml+AJAX+jsp+servlet+javabean+Oracle
/*
html:页面标签
css:样式表
javascript:客户端表单验证、解析AJAX返回的xml
xml:web.xml,AJAX的响应数据格式
AJAX:与后台异步交互,实现页面无刷新
jsp:表现层(数据将被封装成javabean或list放在request/session中传入jsp,注意不要在jsp中生成数据,因为......)
servlet:与Action一起构成控制层
javabean:数据传输对象
Oracle:后台数据库
*/

(0)现在正规的Web项目一般都使用框架,所以必须进入

(1)应用程序框架:框架结构是一个可重用的,大致完成的应用程序。可以通过对其进行定制来生成一个客户需要的真正应用程序[Johnson]。和人一样,应用程序之间的相似性远远多于它们之间的差异性。

框架结构提供给程序员一系列的骨干模块。这些模块都有着如下的特性:
1)它们都是被证明可以和其他应用程序一起很好的工作;
2)它们可以立即在下一个项目中被使用;
3)它们可以被同一个组织中的其他团队所使用。

(2)作为总控制器,servlet的大部分工作是调用其他对象(这里为Action,这些Action对象由工厂管理)。我们在servlet调用的对象中实现代码,而不是在servlet中。许多其他框架(如Struts2)也是这样做的。实际上,这被认为是一个正式的设计模式—控制反转(inversion of control,IoC—Spring本身就是一个IoC容器)。

----------------------------------------------------------------------------------------------------------------------
系列4/5 高校毕业生管理与分析系统[...]Java EE版


[开发工具]JDK6+Eclipse3.3+MyEclipse6+Tomcat6  Linux(fc7)

本版为MVC架构,技术体系为:
Struts2(AJAX)+Spring+Hibernate+Oracle/MySQL

----------------------------------------------------------------------------------------------------------------------
系列5/5 高校毕业生管理与分析系统[...]

 

  • 描述: /*系列1/5->VC++版主界面*/
  • 大小: 1.1 MB
  • 描述: /*系列2/5 JAVA(Swing)版主界面*/
  • 大小: 1.4 MB
  • 描述: /*系列3/5 Java Web版+系列4/5 Java EE版主界面*/
  • 大小: 11.6 KB
分享到:
评论
2 楼 gml520 2008-04-28  
支持博主!
1 楼 crazybigfish 2007-12-17  
沙发~  

相关推荐

    前端网页工程师项目实训教程(一)-在线商城的源代码

    在线商城的静态页面源代码

    信息工程师实训

    这是j2ee 三大框架实训报告,整合了struts+spring+hibernet,内容丰富,图文并茂

    Android实训实习报告总结.docx

    的思想,如怎样构建通用的开源应用框架(考虑sdk1.5等版本),如何适用在不同屏幕分辨率的手机上等等 Android实训实习报告总结全文共13页,当前为第2页。 Android实训实习报告总结全文共13页,当前为第2页。 学习中...

    工程师知识管理系统:基于golang go语言(beego框架),支持分布式文件存储minio集群部署。

    适合学习/练手、毕业设计、课程设计、期末/期中/大作业、工程实训、相关项目/竞赛学习等。 项目具有较高的学习借鉴价值,也可直接拿来修改复现。可以在这些基础上学习借鉴进行修改和扩展,实现其它功能。 可放心下载...

    最新JAVA大数据零基础开发实训班全套教程

    视频频学习资料;本资料仅用于学习,请查看后24小时之内删除。 Java基础 JavaWeb 三大框架 linux Hadoop Scala Spark

    微软实习生计划1.1

    微软软件工程师实训体系,是中心的核心培训产品。在中国南京服务外包人才培训中心-微软培训平台的支撑下,以微软公司成熟的软件研发体系流程以及内部人才培训的过程理论模型为蓝本,以真实项目作为培训的基本教学...

    android手机音乐播放器实训报告final.doc

    SDK:Software Development Kit,即软件开发工具包,是一些被软件工程师用于为特定的软件包、软件框架、硬件平 台、操纵系统等建立应用软件的开发工具的集合。 AVD:Android Virtual Device,即Android运行的虚拟...

    JAVA软件培训实习报告.pdf

    实习报告 一、实习时间 2013.01.08--2013.05.18 二、实习地点 无锡 NIIT 软件服务外包实训基地 三、实习目的 进一步了解 Java 开发的相关知识,掌握 Java 开发的基本技术,丰富 Java 开发的实战经 验。学习 SQL 的...

    前端 - 钟恒《Vue.js实践:使用Vue2.0开发富交互WEB应用》.pdf

    作者是360奇舞团前端工程师讲前端架构难点、组件化、框架、MVC、MVVM、通信方法的选择、前端框架的坑、更快更好。非常值得学习的经验。

    java6.0源码-myxyz.github.cn:https://github.com/qingyunjiao/gen.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java6.0源码-qingyun.github.io:青云.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java6.0源码-qingyunjiao.github.io:教学时的案例,可供入门/中级/高级java程序员参考

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java6.0源码-jiaoxue.github.com:教学时的案例,可供入门/中级/高级java程序员参考

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-jiheedu.github.io:jiheedu.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-51gangcai.github.io:51刚才.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-yiyunku.github.io:易云库.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java6.0源码-yunedu.github.io:yunedu.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-ayiyun.github.io:ayiyun.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-axxjs.github.io:axxjs.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

    java7源码-javaxxb.github.io:javaxxxb.github.io

    教学模式为:线上(在线视频:PC+ANDROID+IOS都可以在线看)+线下(面授:来学校上课)+实训(就业指导)+推荐工作 另有:大批有开发经验的Java工程师需要在年底找工作,有需要招聘的单位,请速与我联系!  程序员必上...

Global site tag (gtag.js) - Google Analytics