Commits

SHIBUKAWA Yoshiki committed 3e411bd

Update hack/domain/basic to describe directive's nest

Comments (0)

Files changed (1)

hack/domain/basic.rst

 ==============
 
 :date: 2013/01/03
+:last modified: 2013/01/09
 :author: 渋川よしき
 
 ドメインの持つ情報の粒度の大きさ、制約を把握しておくことで、ドメイン設計が正しく行えるようになるでしょう。基本的なプログラミング言語であれば、他の言語と似た構成にすれば特に迷うことはないとおもいますが、ゼロから考える場合には、「情報の正規化」が大切になります。
 
 ディレクティブが置かれた場所よりも後ろの行に対して「副作用」を与える実装を行うことができます。例えば、モジュールディレクティブが置かれた行の先に置かれているものは、すべてそのモジュールの構成要素であると、情報を付加させる、などです。クラスも同様です。
 
-なお、Sphinxではクラスディレクティブの後にメソッドのディレクティブをインデントして書くことが多いのですが、インデントそのものに構文的な意味はありません。そのため、2つ以上のネストを表現することはできません。
+Sphinxではクラスディレクティブの後にメソッドのディレクティブをインデントして書くことが多いのですが、 :py:class:`ObjectDescription` を継承したクラスでは、 :py:meth:`before_content` と :py:meth:`after_content` がインデントの前後で呼ばれます。これらの中でネストされた情報をメモしていくことで、親子関係を記述することができます。
 
 ディレクティブの引数
 --------------------
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.