我正在用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