## 結語
到目前為止講了那么多,一句話,要記住沒有靈丹妙藥。但好的軟件架構會幫助代碼保持清晰和健壯,還可以保持代碼的可擴展性,易于維護。
我想指出一些事情。面對軟件存在的問題,要報以本應當解決的態度:
* 遵守SOLID原則
* 不要過度思考(不過度工程化)
* 務實
* 盡可能降低(Android)框架中模塊的依賴性
## 源代碼
1. [Clean architecture github repository – master branch](https://github.com/android10/Android-CleanArchitecture)
2. [Clean architecture github repository – releases](https://github.com/android10/Android-CleanArchitecture/releases)
## 延伸閱讀
1. [Architecting Android..the clean way](http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/)
2. [Tasting Dagger 2 on Android](http://fernandocejas.com/2015/04/11/tasting-dagger-2-on-android/)
3. [The Mayans Lost Guide to RxJava on Android](https://speakerdeck.com/android10/the-mayans-lost-guide-to-rxjava-on-android)
4. [It is about philosophy: Culture of a good programmer](https://speakerdeck.com/android10/it-is-about-philosophy-culture-of-a-good-programmer)
## 參考資料
1. [RxJava wiki by Netflix](https://github.com/ReactiveX/RxJava/wiki)
2. [Framework bound by Uncle Bob](https://blog.8thlight.com/uncle-bob/2014/05/11/FrameworkBound.html)
3. [Gradle user guide](https://docs.gradle.org/current/userguide/userguide.html)
4. [Package by feature, not layer](http://www.javapractices.com/topic/TopicAction.do?Id=205)