当前位置: 技术问答>java相关
关于类库设计的讨论(没时间上网,现在在线大家看一看了)
来源: 互联网 发布时间:2015-06-08
本文导语: 主要涉及到数据库的应用方面 比如现在有类:user,product,order,.......... 而实现这些类的方法继承自DbManager类(这里实现数据的操作) 在user,product,order.......实现全部的add,delete,updata,modify..........等方法,虽然这样做不是...
主要涉及到数据库的应用方面
比如现在有类:user,product,order,..........
而实现这些类的方法继承自DbManager类(这里实现数据的操作)
在user,product,order.......实现全部的add,delete,updata,modify..........等方法,虽然这样做不是不可以但是总觉的代码没法再重新使用
因为user,product,order..........等这些类里都涉及到具体的表字段
如果我在其它的程序里要使用这里类
不得不再修改代码
大家一般都是怎样做的
比如现在有类:user,product,order,..........
而实现这些类的方法继承自DbManager类(这里实现数据的操作)
在user,product,order.......实现全部的add,delete,updata,modify..........等方法,虽然这样做不是不可以但是总觉的代码没法再重新使用
因为user,product,order..........等这些类里都涉及到具体的表字段
如果我在其它的程序里要使用这里类
不得不再修改代码
大家一般都是怎样做的
|
封装得好的话,业务层只是些很简单的sql语句,
完全可以用程序蓝领来写,
花不少代价去为这些不同的业务重用这些代码是没有必要的,
你不会还想重用jsp文件吧!
其实我觉得假如你重用这些东西的话,
你的这些项目是不是基本上就是相同的了?
“说到应用接口,感觉起不了多少作用(水平有限)
因为方法体还得再类里再写
80%的代码还是在方法体里(当然这些接口是可以重用的)”
接口是面向对象多太性的重要体现之一,而且可以增加代码重用性!
建议增强对oop思想的理解!
个人意见!仅供参考!
完全可以用程序蓝领来写,
花不少代价去为这些不同的业务重用这些代码是没有必要的,
你不会还想重用jsp文件吧!
其实我觉得假如你重用这些东西的话,
你的这些项目是不是基本上就是相同的了?
“说到应用接口,感觉起不了多少作用(水平有限)
因为方法体还得再类里再写
80%的代码还是在方法体里(当然这些接口是可以重用的)”
接口是面向对象多太性的重要体现之一,而且可以增加代码重用性!
建议增强对oop思想的理解!
个人意见!仅供参考!
|
我的做法是这样的,仅供参考:
利用JavaBean的思想,将表格映射成Java类,
例如:
user表有两个字段:id varchar(20); name varchar(40)
那么对应的Java类User可写成,并且所有的表格类都继承Record这个父类:
public class User extends Record
{
public void set***(){}
public String get***(){}
}
***表示表格字段。
这样做之后,就可以用DbManager类实现所有表格的操作。
例如:我要实现User表的操作,做法如下:
DbManager dm = new DbManager("User");//表示我对User表进行操作
User user = new User();
user.set***();//定义User表纪录
dm.insert(user); //插入user表,这里insert方法的形参是Record,其他
操作方法同样。
这样的做法要用到Java的反射机制,优点是使用方便,维护简单。
缺点是只能对一个表格进行操作,这对查询是非常不利的。
利用JavaBean的思想,将表格映射成Java类,
例如:
user表有两个字段:id varchar(20); name varchar(40)
那么对应的Java类User可写成,并且所有的表格类都继承Record这个父类:
public class User extends Record
{
public void set***(){}
public String get***(){}
}
***表示表格字段。
这样做之后,就可以用DbManager类实现所有表格的操作。
例如:我要实现User表的操作,做法如下:
DbManager dm = new DbManager("User");//表示我对User表进行操作
User user = new User();
user.set***();//定义User表纪录
dm.insert(user); //插入user表,这里insert方法的形参是Record,其他
操作方法同样。
这样的做法要用到Java的反射机制,优点是使用方便,维护简单。
缺点是只能对一个表格进行操作,这对查询是非常不利的。
|
其实,JBUILDER已经有你要用的类了,没必要自己设计
|
定义成接口怎么样?
|
我认为也是这样做。
|
你可以参考:
Jive
的设计!!!
Jive
的设计!!!