我正在研究通用圖靈機的簡單應用。我有一個數據來創建機器,我的問題不是關於UTM我只想在這個應用程序中說明它。我需要從字符串數據創建一個對象,例如這種方法創建我UTM的一個過渡功能:類設計 - 從字符串數據創建一個對象?
public static Transition createFromData(String data) {
Transition trans = new Transition();
String[] dataSplitted = data.split("1");
trans.setInputState(new State(dataSplitted[0]));
trans.setInputSymbol(dataSplitted[1]);
trans.setNewState(new State(dataSplitted[2]));
trans.setNewSymbol(dataSplitted[3]);
trans.setMovement(Movement.getByCode(dataSplitted[4]));
return trans;
}
這是好主意(從類設計的角度來看),以在過渡類這樣的方法,或者我應該將它們分開到另一個/工具類?這個問題的做法是什麼?
這是一個完全有效的設計模式,稱爲「靜態工廠模式」。我建議使用某種「解析器」接口並根據數據類型注入一個實現 - 將類與它在數據中的表示耦合是不好的。說完這個問題不適合這個論壇 - 它是a)基於意見和b)要求代碼審查。 –