MVC・デザインパターン・DDD系記事まとめ

デザインパターン、MVCあたりを調べていて、ドメインモデル、ドメイン駆動設計あたりに興味を持ちました。参考に読んだ資料をまとめます。

### MVC
- [iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い](http://www.slideshare.net/mokemokechicken/iosandroidmodel)
- [MVCの流れを簡単にまとめてみる](http://qiita.com/hirokidaichi/items/0de5ca336de862cc91bd)
- [中規模Web開発のためのMVC分割とレイヤアーキテクチャ](http://qiita.com/yuku_t/items/961194a5443b618a4cac)
- [Ruby on Railsの「えせMVC」の弊害](http://satoshi.blogs.com/life/2009/10/rails_mvc.html)
- [【雑記】 そろそろMVCモデルについて一言いっておくか](http://blog.virtual-tech.net/2009/10/mvc.html)

### MV*
- [僕が心の中でやっているMV*パターン分類方法](http://qiita.com/hadashiA/items/20e95bc129704418471d)

### デザインパターン
- [シングルトンパターンの誘惑に負けない](http://d.hatena.ne.jp/asakichy/20110803/1312323474)
- [オ・ト・ナのカプセル化再入門](http://qiita.com/eccyan/items/a14097b75e0cf6d924f3?utm_source=Qiita%25E3%2583%258B%25E3%2583%25A5%25E3%2583%25BC%25E3%2582%25B9&utm_campaign=c2497cab48-Qiita_newsletter_158_05_27_2015&utm_medium=email&utm_term=0_e44feaa081-c2497cab48-32986809)

### 通知
- [プロパティへの書き込みを外から監視する](http://program.station.ez-net.jp/special/handbook/objective-c/id/prop-observ.asp)  
  KVOの話

### ドメイン駆動設計
- [いまさらきけない「ドメインモデル」と「トランザクションスクリプト」](http://d.hatena.ne.jp/higayasuo/20080519/1211183826)
- [入門！ドメイン駆動設計（今更かい！）](http://blog.yoslab.com/entry/2014/02/15/011402)
- [「ドメイン駆動設計」は新人SEの必修項目でいいと思う](http://d.hatena.ne.jp/takaxi/20130330/1364645339)
- [レイヤー設計とか、オブジェクト指向とか、DDDとか、その辺](http://mattun.hatenablog.com/entry/2014/07/19/135320)
- [DDD難民に捧げる
Domain-Driven Designのエッセンス](https://www.ogis-ri.co.jp/otc/hiroba/technical/DDDEssence/chap1.html)  
  第1回から第3回まである
- [ドメインロジックのパターンは、ドメインモデルだけなの？](http://masuda220.jugem.jp/?eid=319)
- [ドメイン層に最適なアーキテクチャを考える](http://www.itmedia.co.jp/im/articles/0702/21/news110_3.html)
- [MVVMパターンの常識 ― 「M」「V」「VM」の役割とは？](http://www.atmarkit.co.jp/fdotnet/chushin/greatblogentry_02/greatblogentry_02_01.html)
- [ドメインモデルの関連を表現するには](http://j5ik2o.me/blog/2013/06/02/ddd-entity-reference/)  
  相互参照にどう対応するか
- [ドメインモデルの完全な状態を保つ方法](http://ja.stackoverflow.com/questions/2394/%E3%83%89%E3%83%A1%E3%82%A4%E3%83%B3%E3%83%A2%E3%83%87%E3%83%AB%E3%81%AE%E5%AE%8C%E5%85%A8%E3%81%AA%E7%8A%B6%E6%85%8B%E3%82%92%E4%BF%9D%E3%81%A4%E6%96%B9%E6%B3%95)
- [[Scala]不変オブジェクトで循環参照をつくる](http://d.hatena.ne.jp/terazzo/20130604/1370373845)
- [
クラス設計に関するメモ](http://homepage3.nifty.com/satoshis/oo/memo.html#dependency)  
  entity同士の相互参照はOKという記述あり

### iOSアプリ
- [About Creating Your Second iOS App](https://developer.apple.com/legacy/library/documentation/iPhone/Conceptual/SecondiOSAppTutorial/Introduction/Introduction.html)
- [Concepts in Objective-C Programming - Object Modeling](https://developer.apple.com/library/prerelease/ios/documentation/General/Conceptual/CocoaEncyclopedia/ObjectModeling/ObjectModeling.html)
- [MVCもやもや話](http://www.slideshare.net/kaniza1/mvc-12990574)
- [SwiftでKVOを使って堅牢なMVCを実現するサンプル](http://qiita.com/osamu1203/items/5f49dd6787f86e6c61d3)


### iOS App Architecture
#### 分類
- [iOS Architecture Patterns - Demystifying MVC, MVP, MVVM and VIPER](https://medium.com/ios-os-x-development/ios-architecture-patterns-ecba4c38de52#.k2ze5otgw)  
  アーキテクチャの違いや変化に関しては、この記事が一番分かりやすかったです。

　　

#### MVVM
- [Introduction to MVVM](https://www.objc.io/issues/13-architecture/mvvm/)
- [Introduction to Protocol-Oriented MVVM](https://realm.io/news/doios-natasha-murashev-protocol-oriented-mvvm/)
    - [サンプルコード](https://github.com/NatashaTheRobot/ProtocolOrientedMVVMExperimentSwift)
- [From MVC To MVVM](http://rasic.info/from-mvc-to-mvvm-in-swift/)　　
　　　　VMからネットワークリクエストを行う、ということが書かれています。