我正在用NetBeans设计器创建一个Java框架。它非常广泛,主要是关于从数据库中插入和获取数据。我的主要课程中有大约10k行代码,我应该担心吗?
事情是我的主类现在有10663行(由设计者插入的7000帧设计生成的代码)。这会导致任何问题吗?我是Java新手,并且读过一个类不应该有20多个方法/ 500行代码。我只有大约15种方法,但是有10k行代码,这会是一个问题吗?
无法分离或重新考虑代码从OOP的角度来看,因为它不是一个真正的OOP问题,我只是用一些按钮按下时用MySQL数据库中的数据填充一些表(很多表)/使用数据更新数据库从众多的形式。
编辑: 我觉得我没有提供足够的细节,所以我会在这里添加所有知识。这是我大学毕业论文的基本内容,我毕业后不会再使用或更新。这是关于为酒店的接待创建一个软件产品 - 从增加客户,签到,管理提供给客户的基本/额外服务等等。当我开始这个项目时,我有0个Java知识,我一直在学习。 我有一个Java文件,做所有数据库相关的东西,如添加/删除/更新记录等 我有一个表单文件,其中包含上述问题 - 11k行代码。这是大多数的样子:
private void cCautaActionPerformed(java.awt.event.ActionEvent evt) {
ArrayList<ArrayList<Object>> result;
ArrayList<String> attributes=new ArrayList();
String where = "first_name LIKE '%" + cclientName.getText() + "%' OR last_name like '%" + cclientForename.getText() +"%'";
attributes.add("id");
attributes.add("first_name");
attributes.add("last_name");
attributes.add("address");
attributes.add("number");
attributes.add("town");
attributes.add("county");
attributes.add("notes");
attributes.add("cnp");
attributes.add("type");
csearchedCustomersList.clear();
try {
result = DataBaseConnection.getTableContent("customers", attributes, where, null, null);
DefaultTableModel model = (DefaultTableModel) csearchTable.getModel();
DefaultTableCellRenderer centerRender = new DefaultTableCellRenderer();
centerRender.setHorizontalAlignment(JLabel.CENTER);
csearchTable.setDefaultRenderer(Object.class, centerRender);
model.setRowCount(0);
if (result.isEmpty()) {
errorMessage("error", "No client found with the specified name!", "Search Error");
}
for (int i = 0; i < result.size(); i++) {
Customers cust = new Customers((String)(result.get(i).get(0)),
(String)(result.get(i).get(1)),
(String)(result.get(i).get(2)),
(String)(result.get(i).get(3)),
(String)(result.get(i).get(4)),
(String)(result.get(i).get(5)),
(String)(result.get(i).get(6)),
(String)(result.get(i).get(7)),
(String)(result.get(i).get(8)),
(String)(result.get(i).get(9))
);
csearchedCustomersList.add(cust);
model.addRow(result.get(i).toArray());
}
} catch (SQLException ex) {
}
}
例如,这是一个搜索按钮填充表与匹配所搜索术语(名称和用的名字),客户的代码。 因此DataBaseConnection可以完成所有数据库的工作。问题是现在当我尝试添加任何东西时 - 一个新的JPanel,更改一个按钮的图标..基本上添加任何新的代码,我得到一个:错误:无法找到或加载主类Hotel.hotel。我不知道该如何处理这个问题,因为正如我所说的,我对Java相当陌生。
框架应该*不*负责数据库管理。所以是的,这是一个OOP问题。框架应该引发按钮点击事件,并由其他类处理。 –
您是否熟悉[模型 - 视图 - 控制器](http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller)范例? – Philipp