我有一個ActiveRecord模型Reservation
。
它達到了這樣一個程度,即班級規模很大,而且做得太多。
我想將其拆分成幾個不同的模塊,並將它們放在Reservation
模塊下。重組龐大的類
不幸的是,這會打破應用程序。
這時我看到以下選項:
- 它命名爲類似
ReservationConcerns
或類似 - 添加功能到
Reservation
類本身,但在物理上它移動到子目錄(Reservation
將是app/models/reservation.rb
,Reservation::Pipeline
將在app/models/reservation/pipeline.rb
等)。
所以,問題是如何構造不同的關注點的特徵已經有它作爲一個單一的,體積龐大類沒有打破應用。
爲什麼特別是應用程序中斷?有沒有什麼可以阻止您更改Reservation類和與它接口的代碼? – willglynn
應用程序的其餘部分與'Reservation'接口,所以我想保留它以避免更改應用程序中的現有約定(因此不要打破它)。只是重構實施。 –