免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2109 | 回复: 5
打印 上一主题 下一主题

连续几个问题,大家都来看看? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-04-02 17:14 |只看该作者 |倒序浏览
1、   用JAVA写查找、增加、删除、修改、更新、插入、的思路应该是什么?有什么优化的方法?

2、什么时候需要定义一个interface ,定义interface时应该注意哪些问题?

:)
先谢了!

论坛徽章:
0
2 [报告]
发表于 2003-04-02 19:33 |只看该作者

连续几个问题,大家都来看看?

第一个问题,要看你用什么样数据结构,这样的算法是很多的,这个问题我回答不好:-(
第二个问题,Java没有多重继承,但当要想实现两个以上类的特性时,就需要用接口将其他的类连接起来,在应用中,ActionListener,Runnable等经常作为接口来实现。需要注意的问题嘛,嗯——在书写时,记得多个接口之间用逗号隔开^Q^

我也刚开始学,嘿嘿,班门弄斧,不好意思了!

论坛徽章:
0
3 [报告]
发表于 2003-04-03 12:16 |只看该作者

连续几个问题,大家都来看看?

:)
谢谢了,但我不明白难道一个类实现了一个接口,就可以具有那些已经实现了这个接口的其它类的特性吗?

论坛徽章:
0
4 [报告]
发表于 2003-04-03 14:17 |只看该作者

连续几个问题,大家都来看看?

你有一张100钞票,我也有一张,但并不代表你钱包里的钱我也有,接口也一样,大家都能用,但只能实现接口本身的成员。
我的表达不知道你能不能接受:)
你在做什么项目么?

论坛徽章:
0
5 [报告]
发表于 2003-04-03 17:41 |只看该作者

连续几个问题,大家都来看看?

噢是这样:)

谢谢!
在做产品!

论坛徽章:
0
6 [报告]
发表于 2003-04-03 21:47 |只看该作者

连续几个问题,大家都来看看?

数据一般是存放在数据库里的,java 要对他进行处理首先要把它从数据库中
读到 object 中,因此系统中最好有一个永久对象层来处理这个。

这样系统就成了多层结构

界面(web 或者 gui 界面)
-------------
业务层
-------------
永久对象层
-------------
数据库,文件系统


在永久对象层里 j2ee blue print 中推荐使用 DAO 对象存取数据库


比如:
开发一个论坛,帖子的信息存放在数据库里:

article表
---------
id
title
content
date
author
board
---------

系统中在永久对象层对帖子的处理需要有两个类:Article 和 ArticleDAO

Article 是帖子对象,只有帖子的数据,和 get, set 方法,就是一个简单的 bean

  1. class Article{
  2.   int id;
  3.   String title;
  4.   String content;
  5.   String date;
  6.   int author;
  7.   int board
  8.   // getter, setter
  9.   ...
  10. }
复制代码


ArticleDAO 是用于与数据库交互来存取,查找帖子的方法的集合,这只是一个接口

  1. interface ArticleDAO{
  2.   public Article getArticle(int id); // 取某个 article
  3.   public Collection getArticleByBoard(int board); // 取某个版块的所有 article

  4.   public Collection findArticleByTitle(String title); // 查找帖子
  5.   public Collection findArticleByContent(String content);

  6.   public void addArticle(Article article); // 添加帖子
  7.   public void delArticle(int id); // 删除帖子
  8.   public void modifyArticle(Article article); // 修改帖子
  9. }
复制代码


ArticleDAO 的具体实现根据具体实现

  1. class ArticleDAOMysql implements ArticleDAO{
  2.   // 针对 mysql 数据库实现 ArticleDAO 里的所有方法
  3. }
复制代码



永久对象层对业务层的接口是 ArticleDAO,传给业务层的数据是 Article
业务层并不需要了解 ArticleDAO 的具体实现(ArticleDAOMysql)是 mysql 还是 oracle
将来如果把系统从 mysql 迁移到 oracle,系统只需增加一个 ArticleDAOOracle 类即可
业务层无需做改变


系统设计最好能分层,模块化,模块对外之应该公开一个简单的接口,而不需要也不能公开自己
内部的具体实现,模块间通讯只是通过这些接口来调用,这样才能实现系统的松耦合,如果你不
想让调用你的类的人了解这个类的细节,不想让类的实现的变动影响到系统的其他部分,就要使
用接口。

去看看 《设计模式》 这本书,第一章就讲到了要针对接口进行设计,不要针对实现进行设计。

:)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP