2016-10-02 242 views
-1

開發我的第一個IOS應用程序。IOS應用程序體系結構

關於平臺 1.使用Restful(JSON)服務。 2.構建多個客戶端應用程序,實現一些重疊的不同功能。

架構 Diagram for the architecture

實施 1.使用的CocoaPods。 2. Infra POD/FRAMEWORK可容納整個Infra層和橫切層。 3.域POD/FRAMEWORK包含CoreData數據模型和使用ActiveRecord模式實現的模型類。 4.每個功能作爲單獨的POD /框架。 (單故事板+多視圖控制器) 5.每個應用程序聲明所需的PODS(Infra + Domain + Feature/s)並創建必要的導航流程以訪問所有功能。處理驗證。

問題 1.這可能嗎? 1.我是否過度設計了這個?我應該從一個簡單的單個文件夾應用程序開始,而不是針對某種結構(可能是上面的或完全不同的東西)? 2.任何人都有這樣的結構?任何我應該注意的坑洞? 3.是否有任何性能影響?有很多框架阻礙啓動時間?我可以採取任何措施來減輕這種情況。

P.S. :我的UML很糟糕。忽略上述模型中的任何UML相關問題。我只是不知道macOS上的簡單繪圖工具。

+0

嗨,恐怕在一個廣泛的「最佳實踐」問題的多個問題是不適合的對於堆棧溢出,其中一些*可能會在http://programmers.stackexchange.com上的主題,當單獨詢問時,但我不確定,請務必首先檢查他們的常見問題 –

+0

聽起來就像你試圖聘請一個研究團隊,沒有解決一個編程問題 –

+0

Reuse&DRY是我努力的兩件事情,我會以積極的態度對待你的評論,因爲我已經過度設計了這個問題,但是我總是發現把事情扔掉然後讓它們變得容易所以現在是時候拋出一些東西了。:) – Shrep

回答

0

我要嘗試回答這個問題:

你不必一開始就在年初極端代碼分離和不同的吊艙。如果您以正確的方式構建您的代碼,只要您真的需要,您可以輕鬆分開這些部分。 儘量忠實於以下幾點,你不會有麻煩重用代碼:

  1. 不要混合你的業務邏輯(網絡代碼,數據庫,數據持久性,數據處理等)與您的視圖控制器。嘗試爲每項工作分別製作經理。

  2. 不要複製代碼! (如果你有,重組它,使所以你不需要複製)

  3. 嘗試的工作真的面向對象(創建用於保存和存儲數據對象,請求等等等等)

  4. 嘗試只有在必須維護的情況下才使用框架。最好的辦法是堅持蘋果的框架,因爲你知道支持將不會在某個時間點停止

+0

謝謝你的時間和 註釋。我嘗試了上面的結構,它確實工作(令我驚訝的是)像你提到的那樣,對於非常簡單的事情來說它可能太複雜了。也謝謝你的建議。我一定會記住他們。 – Shrep