「POCO」の版間の差分

提供:MonoBook
imported>Administrator
編集の要約なし
編集の要約なし
 
16行目: 16行目:
* [[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]
* [[オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。]]


==参考文献==
[[category: デザインパターン]]
{{reflist}}
 
{{stub}}

2025年3月5日 (水) 06:21時点における最新版

POCO(読み:ぽこ、語源:plain old CLR Object)とは、特定のフレームワークに依存しないオブジェクトのことである。

概要[編集 | ソースを編集]

POCOは一般的には構造体のようなにシンプルなデータの受け渡しに特化したプロパティだけで構成されたクラスを指す。逆をいえば「メソッドを一切含まないクラス」と覚えておけばよい。

POCOはいわゆるMVCMVVMの「モデル」と似ているが、本来のモデルUMLなどで表される操作をメソッドとして定義したものまで含まれ、それだけでUIを除く部分のテスト単体テスト)までは完結できる物であるとされる。ただし、日本のIT土方の世界に限れば、実際にそこまで本格的に実装されたモデルは稀で、ほぼPOCOと同義になっているものが多い。

一方、POCOではデータ受け渡しに特化し、ドメインモデルに影響を及ぼす意味のある操作は含めてはいけない。データベースサーバー間のデータ受け渡し(Micro ORM的なマッピング)と、サーバークライアント間のデータ受け渡しの形式が共通であれば無駄が少なく似たようなクラスを乱立させることもない。Visual StudioXamarin Studioのソリューション中に共通で使用するPOCOだけを格納したプロジェクトを作り、サーバーやクライアントの各プロジェクトから参照すればマッピングも楽になる。

なお、PHPPython,Rubyなどのスクリプト言語の世界では「とかメンドクセー」と、POCOをも超越する概念としてRESTfulJSONが流行っており、それらに対応するため.NETにもdynamic型が搭載されるに至っている。

関連項目[編集 | ソースを編集]