No.3ベストアンサー
- 回答日時:
java package design (principle) あたりで検索すると色々出てきますが,よく参照されているのは
http://javaboutique.internet.com/Case_Study/
http://www.surfscranton.com/architecture/ObjectO …
http://homepages.dcc.ufmg.br/~fpereira/classes/p …
http://butunclebob.com/ArticleS.UncleBob.Princip …
http://www.st.informatik.tu-darmstadt.de/pages/l …
http://staff.cs.utu.fi/staff/jouni.smed/doos_06/ …
http://supportline.microfocus.com/Documentation/ …
http://www.csd.uoc.gr/~hy252/references/UML_for_ …
http://javaboutique.internet.com/tutorials/Packa …
などで言及されている以下の6つの観点
REPThe Release Reuse Equivalency PrincipleThe granule of reuse is the granule of release.
CCPThe Common Closure PrincipleClasses that change together are packaged together.
CRPThe Common Reuse PrincipleClasses that are used together are packaged together.
------
ADPThe Acyclic Dependencies PrincipleThe dependency graph of packages must have no cycles.
SDPThe Stable Dependencies PrincipleDepend in the direction of stability.
SAPThe Stable Abstractions PrincipleAbstractness increases with stability.
前半3つが package cohesion (パッケージ内部の凝集性)に関わるもので,後半3つが package coupling (パッケージ間の組み合わせ)に関わるものです。
これらと内容的には被りますが,別な表現で述べたものとして,依存関係(循環しないようにする)に着目したり,レイヤー(データ/ロジック/プレゼンテーションなど)や機能を意識して分けたりする,という考え方もありました。
http://japan.internet.com/developer/20070502/27. …
http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII8 …
http://www.st.uni-trier.de/~diehl/pubs/vissoft05 …
http://forum.springsource.org/archive/index.php/ …
http://stackoverflow.com/questions/533102/what-s …
またこれらに適合するようなパッケージ構成をアドバイスしてくれるツールもあるようです。詳細は上のリンクからたどるなり検索するなりしてみてください。
以上,ご参考まで。
情報ありがとうございました。なかなかうまく検索できなくて困っていたのですが、これがまさに欲しかった情報でした。
下記も見つけましたので、一応記載しておきます。
http://www.objectmentor.com/resources/articles/g …
http://www.objectmentor.com/resources/articles/P …
No.4
- 回答日時:
No 3の方が紹介されている Robert C. Martin のパッケージ設計の原則ですが、日本語の資料としては下記の様なものが有りますね。
http://www.objectclub.jp/community/memorial/home … (後半)
http://www.amazon.co.jp/dp/4797347783/
情報ありがとうございました。読みやすいですね。
結構日本語のサイトでも情報があるので、日本語のサイトだけで十分理解できそうです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- システム システムを開発するにあたって 3 2022/08/06 21:30
- 哲学 概念について 1 2023/04/09 15:09
- 数学 最大エントロピー原理をpythonで実装したい 2 2022/06/21 13:10
- 統計学 アンケート調査のデータ比較をする際の統計分析方法の選択に迷っています 5 2022/04/15 01:05
- IT・エンジニアリング 大規模言語モデルは今後どのように進化していくでしょうか? 1 2023/07/20 19:17
- Mac OS Macで今あるファイルの連番(ページ番号)に足し算をしてリネームしたい 1 2022/10/12 17:22
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- Amazon 新規でAmazon商品ページ作成方法について 1 2022/03/28 00:22
- その他(Microsoft Office) Office2013サポート終了後、何を選ぶか 8 2022/11/21 15:45
- Java 助けでください!!!!!!!!!!!! 4月から働き始めた新人SEです。 皆さんの体験談等を教えてい 7 2022/07/28 23:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
string formatについて
-
「自作クラスの型」にキャスト...
-
java eclipse 型に解決できません
-
内部クラスを別ファイルに
-
javaで画像ファイルの入出力方法
-
エクセルVBAでのwitheventsにつ...
-
サーブレット実行時のエラー
-
体育祭クラス全員参加のムカデ...
-
河合塾のクラス分けについて
-
ASP.NETでのジェネリックの利用
-
クラスにアクセスできません。
-
自作のクラスファイルがインポ...
-
Javaの継承についてです。 この...
-
ATLとMFCの違いは何でしょうか?
-
ベクターワークスでの【クラス...
-
A・B・Cクラスとは?
-
クラスの継承でメンバ変数が・・
-
グローバルIPとプライベートIP...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
河合塾のクラス分けについて
-
同じクラスにならない確率を教...
-
3年間同じクラスになる確率
-
「天声人語」をインターネット...
-
グローバルIPとプライベートIP...
-
配列の重複する値とその個数を...
-
java eclipse 型に解決できません
-
同一パッケージにあるクラスが...
-
私はクラスLINEにまだ入れてな...
-
老い先短い ジジィ が ふと 思う...
-
自作のクラスファイルがインポ...
-
どこからも呼ばれていない無意...
-
main()を持つクラスが2つ以上...
-
数学の計算問題。 3年間同じク...
-
クラス見てから 女の子5人 ネタ...
-
javaのコンパイルができません...
-
1 つのヘッダファイルに複数の...
-
重複エラーを解決するには
-
IPアドレスの3バイト目の呼び方
-
packageとimport の違いって?
おすすめ情報