动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.混合Eclipse、WTP、Struts和Hibe.
.Eclipse使用入门.
.桌面系统的第二次战役 -- 难解难.
.Java框架:初学者对Hibernate的学.
.Eclipse编程Tips-让RCP自带JRE.
.Sun首次表示要使Java成为开放源代.
.java中文件长度的转换.
.Eclipse3.0配置SQLExplorer数据库.
.你如何使用JavaBean操作数据库?.
.浅析J2EE、J2SE和J2ME.
.Think in java Stream 经典.
.JDBC 概述(五).
.Java容器分析—List和Set.
.关于继承内部类——java编程思想.
.[JAVA100例]070、使用JDOM解析XML.
.在组合模式中实现访问者(Visitor.
.[JAVA100例]048、使用JavaMail接.
.编程基础:Java中的数据结构.
.bean里面如何打印到html页面.
.程序员的七大武器.

Java 库的建立方法及其实例(1)

发表日期:2008-1-5 |



  Java 库的建立方法及其实例(1)

版权申明

本文可以被自由转载,但是必须遵循如下版权约定:

1、保留本约定,并保留在文章的开头部分。

2、不能任意修改文章内容,或者删节,增加。假如认为本文内容有不当之处需要修改,请与作者联系。

3、不能摘抄本文的内容,必须全文发表或者引用。

4、必须保留作者署名、注明文章出处。(本文授权给www.Linuxaid.com.cn)

5、如不遵守本规定,则无权转载本文。


作者 ariesram
电子邮件地址 ariesram@linuxaid.com.cn, 或 ariesram@may10.ca

本文及本人所有文章均收集在bambi.may10.ca/~ariesram/articles/中。

本文授权给www.linuxaid.com.cn。


正文:


任何一种面向对象语言都有它的库。任何一种面向对象的语言也都离不开库的支持。用我们熟悉的 面向对象语言为例子,C++有STL,Java有API函数,具体到开发工具,Visual C++提供了MFC, Borland C++提供了OWL。也有很多第三方提供的库。我们在开发应用程序的时候,也发觉我们也 许需要某些特定的库来完成特定的功能。那么,如何编写自己的库呢?

利用Java的面向对象特性,如封装,继续,和一些设计模式,我们可以用标准的方法来建立自己的 库。需要明白的一点:在你需要完成某个功能的时候,不要用专有的、特定的方法去编写代码,而 要全盘考虑,用通用的方法来完成,这样,在积累了一定数量的库以后,你就能重用这些库来完成 新的功能,而不用每回都重头编写代码。这也是面向对象语言提供给我们的好处。也可以用J2EE的 规范为例子,J2EE提供了一个CBT(Component Based Transaction),所有的组件都尊崇J2EE规范,在 CBT中运行,这样,编写开发并且重用标准的通用的组件库,可以缩短开发周期节约成本,并且可 以在任何符合J2EE规范的应用程序服务器(APPLICATION SERVER)中运行,并且可以继续,扩展已 有的组件库完成新的任务或者适应新的变化。

在本文中,我将先讨论如何建立自己的库,需要根据哪些标准,然后给出一个简单的例子。在第二 部分中,我将通过一个功能比较完善的库来做进一步的讨论。



什么是库?库是一个可以重用的组件,它采用通用的设计,完成通用的任务,可以节约开发者的时 间,缩短开发周期节约开发成本。一个设计完善的库,并不只是为了完成某一个特定的任务,而是 可以完成各种不同的任务。设计一个库是困难的。写一个算法并不难,但是设计库的时候需要一种 比较好的结构,它能够被用在各种需要的环境下,完成各种不同的任务,但是还不能影响使用它的 程序代码结构。

为什么要重用代码?重头开发一个新的软件,工作量是非常巨大的,不论你用什么工具什么语言。 而代码重用能够节约大部分时间,而把时间花在新的功能的开发上。从一定的意义上来说,写一个 新的软件是利用了现有的代码,重新拼装以实现新的功能。从另外一个角度上来讲,即使你没有打 算把你写的代码变成一个通用的库并分发给其他人使用,从设计的角度来讲,采用一种全盘的通用 的设计方法也能让你对所要完成的任务有更好的理解,并且优化你的设计过程,从而优化你的代码 结构。

采用开发库并且让别人来使用它的方式,能够帮助你在使用它的时候发现它的设计上的缺陷或者代 码中的错误,并帮助你改正它。比方说,你写了一个库让别人来使用,你不得不考虑通用的设计, 因为你并不能预见别人将在什么环境下使用和使用的目的。在其他人使用你的库的过程中,可能会 碰到一些问题,有的可能是你的文档写得不够清楚明白,有的也可能是你程序上的错误,也有可能 是使用者觉得在结构上使用起来不方便或者不正确。那么你可以继续作一些修改工作,在保持结构 和接口不变化的情况下,做一些调整。

在设计库的时候,你需要以一个使用者的眼光来看问题,考虑如何设计和实现它。你需要明白,

1、需要解决的问题是什么?需要达到一个什么目的?

2、使用者关心的问题是什么?使用者需要得到一个什么结果?

3、使用者不需要关心的问题是什么?什么细节是可以对使用者隐藏的?

下面,我们用一个简单的例子来说明如何设计和实现一个有用处的库。

设计一个网络服务程序,我们需要考虑几点:

1、监听一个端口

2、接受连接

3、读取或者写入连接的流

上一篇:Java 库的建立方法及其实例(2) 人气:486
下一篇:Java 网络文件传输 人气:1000
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-12-4 PhpCMS2008 bulid 081203 简体中
2008-12-4 Menalto Gallery v1.5.10 多国语
2008-12-4 Phpcms2008 bulid 081203 简体中
2008-12-4 乘风多用户计数器 v3.92 (Acc)
2008-12-4 乘风多用户计数器 v3.92 (Sql)
2008-12-4 BBSxp 2008 8.0.5 SP2 Build 081
2008-12-4 ASBLOG v2.5 bulid 081118(1201)
2008-12-4 非零坊幽默短信 v3.4
2008-12-4 红茶巴士(公交)查询系统 v3.0
2008-11-29 Tencent Traveler 4.4
2008-11-29 龙卷风网络收音机 v3.0.0.0
2008-11-29 Intel Chipset Software Install
2008-11-29 TweakVI 1.0 Build 1100
2008-11-29 Opera 9.62 Build 10469
2008-11-29 MPlayer WW编译版 SVN-r28044(20
2008-11-29 NetTools网络工具v1.0.0破解版
2008-11-29 3DGallery三维体验1.1破解版
2008-11-29 SecretBook保密本v1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | OPEN参数生成器 | 弹出式窗口代码产生器 | 密码登录生成器 | 在线按钮生成器 | Meta标签生成器 | 多色彩特效字代码生成器 | 网页代码调试器 | 在线FTP登陆 | Flash取色器 | 配色代码对照表 | 配色辞典 | CSS生成器 | 广告代码 | 框架网页代码生成器 | js/vbs加密 | md5加密 | 进制转换 | UTF-8 转换工具 | 在线调色板 | Html转换js | Html转换asp | Html转换php | Html转换perl
实用工具:汉字翻译拼音 | 拼音字典 | 符号对照表 | 个税计算 | 实时汇率查询换算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 | 国家代码与域名缩写 | 文字加密解密 | 元素周期表 | 健康查询 | 世界时间 | 万年历 | 二十四节气 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2009 www.knowsky.com All rights reserved | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵
SEO対策 中国語教室 ホームページ作成