• ベストアンサー

クラス実装を巧く作りこむ心得などが分かる書籍教えて下さい

Javaはクラスをうまく作りこんだ際の保守性の高さなどで人気がありますが、クラスをどのように設計したら良い設計なのか悩んでいます。 「Javaのコーディングをする」こと自体は出来るのですが、何が良いクラス設計なのか、どのような心がけをしていけばより良い作りこみが出来るのか分かりかねています。 そのような面で参考なる書籍、皆さんが参考にしている書籍を教えて下さい。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • ecogilis
  • ベストアンサー率60% (12/20)
回答No.1

こんにちわ。 クラス設計の本としてよい物はあまり持ってないので、探すヒントしかあげられないんですが、一昔にはやった「デザインパターン」の本を探すといいかもしれません。 突き詰めるとクラス設計はこういうパターンにまとめられる的な、これこれこういう形でクラスがある場合にはこういう形にすると、クラスの独立性が高められるとかなんとかそういう類のものです。 結城浩という方が書いた本で「Java言語で学ぶデザインパターン入門」という本が、立ち読みしたときにはわかりやすかった気がします。(笑 ただデザインパターン系は汎用的過ぎて適用箇所のイメージがつきにくい気もします。 私は1冊だけ本を持っていて、オライリーの「j2eeデザインパターン」というのですが、これは実際のシステムを想定していている感がありました。 少々大きくて複雑なシステム向けというか、そういうのが多い気もしますが、より一般的な小さなシステムに適用できるような設計パターンも中にはあって参考になったと記憶しています。 意外と無関係な雑誌の方がわかり易い良い例があったりもしました。 例えば昔、DBマガジンにDBを利用したシステムのJavaのクラス設計例(DBアクセス部分だけでない)があったりして参考になりました。 色々見ていると、徐々に勘所がつかめてきます。

regarega
質問者

お礼

実装は突き詰めていけば、いくつかのパターンに集約されていく、ということを雑誌かなにかで読んだことがあります。それをまとめたデザインパターンというものを理解して使っていって経験を積んでいくことで勘所がつかめていくのですね。 まずは教えて頂いた2冊を読んでみたいと思います。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • JAVAのクラスの考え方は・・?

    JAVAの勉強をしていている学生です。 常々思っていたのですが、クラスの考え方がしっくりきてませんヽ(~-~ よく参考書などで書かれていることで 「クラスは設計図のようなもの、オブジェクトはそこから作成した実体」 「鋳型がクラスでどんどん作れるのがインスタンス」 といった話が疑問でならないのです。 というのも・・クラスの設計って、自分自身をフィールドに宣言したりできますよね。。 でそこから生成して、また自分自身のフィールドに生成して・・とか。 インターフェースを実装したクラスで、、、内部クラスを持ったクラスで、、、ジェネリッククラス、、。 となってくると、最初の考え方では、論理的に無理?私の脳内では変換しきれないです(´;ω;) 多分前提となる考え方が間違っていたり、私の想像力が乏しいだけだと思います。 どなたか、「クラスってこう考えればオブジェクト指向が見えてくる」と表現している本やサイトなどご存じないでしょうか。 一朝一夕で理解しようとは思っていませんので、きちんと参考にして理解しようと頑張ります! 「私的には・・」や「あなたが勘違いしている箇所は・・」といったご意見もぜひお聞きしたいです! クラスかオブジェクト指向かどっちかというより、クラスありきでJAVAのオブジェクト指向が本当に理解できると考えています。参考書やWEBを探してみた限りではやっぱり理解できないです(´;ω;) ちなみにC言語を中学生で始め、プログラミングに触れました。

  • クラスの勉強中です。

    オブジェクト指向に興味がありクラスの勉強をしています。 現状はぐぐってネット上の情報を参考にしているのですが簡単な説明をしているサイトしか みつからず応用というかいまいち理解を深める事ができません。 今後活用していきたいと思っており詳しく勉強したいのですが近くの本屋に行ってPHPの書籍を 手にとってみてもクラスについての説明はないものが多く仮にあってもあっさりとしたもので いまいち購入に疑問を覚えます。 元々javaの要素なようでjavaの参考書を見たのですが余計混乱しそうでできればPHPの書籍で クラスの説明について極力詳しく書いてある本が欲しいのですがそのような本はご存じないでしょうか?

    • 締切済み
    • PHP
  • 初めてPHPを設計するときに参考にしたい良い書籍

    プログラムを独学で始めてまだ間もないのですが、頭で考えながら作っているとよくわからなくなるときが出てきました。 あと、昔作ったものの中身を忘れてきたり。 そこで、これからは最初に設計や仕様書を作ってからタイプし、後から見てもわかるようにしたいと思っています。 初めてPHPを設計する際に参考にすると良い書籍はありますでしょうか。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • 使えるメソッドはクラスで予め指定されている?

    javaを始めたばかりでまだ右も左も分からないのですが、 (オブジェクトは作成してみましたが、クラス自体は作ったことがありません。) 例えば、Aというオブジェクトを作る為に、Bというクラスを使ったとします。 この際、使用できるメソッドというのは、クラスで予め定義されているものが使えるのでしょうか? それとも、クラスとオブジェクトというのは、全く切り離されたもので、 メソッドはjavaの世界で予め用意され、どんなオブジェクトを作成する時にも全て使用出来るものなのでしょうか? 教えてください!!

    • ベストアンサー
    • Java
  • 【VB.NET 】ローカライズ、ストリングクラスとは?

    いつもお世話になっております。 早速ですが、現在VB.NET2003で下記内容を調査(評価)しています。 ・ローカライズとは? ・ストリングクラスとは? 具体的には、MSGBOX("こんにちは")などのようにハードコーディングで、プログラミングして箇所を、ストリングクラスを用いてローカライズさせたいということです。 VB.NET2003を始めて2週間程度なので、ようやく基本的なIDEの使い方や、コーディングができるようになった程度なので、ローカライズやストリングクラスといった事が全然ピンときておりません。いろいろとネットで探してはいるのですがあまり参考になるページが見つからず四苦八苦しております。 そこで、 (1)ローカライズやストリングクラスについて、上記のメッセージボックス程度のものをストリングクラスを用いてローカライズさせる方法を解説やサンプルプログラムなどでレクチャーしていただけないでしょうか? (2)初心者にもとっつきやすいホームページもしくは書籍を教えていただけないでしょうか? 厚かましいようで申しわけありませんが、ご教授のほどよろしくお願いいたします。

  • クラス設計の良い参考書を教えてください

    このたび、仕事で初めてC++を前提にした設計をすることになったのですが、プログラミングも含め、C++自体が全く初めてです(オブジェクト指向自体も初めてです)。あまり時間もないので、良い参考書を探しております。特に、良いクラス設計の思想、設計例などが解説されている参考書などありませんでしょうか。時間が無いので極力邦書を希望します。GoFの再利用のためのデザインパターンの本(業務命令により購入済み)と、平行して進めるつもりですので、これと思想が違わないものが希望です。

  • クリーンルーム(クラス100)内使用設備の設計に…

    クリーンルーム(クラス100)内使用設備の設計について 何時も御世話になっております。この度、クラス100のクリーンルーム内で使用する設備を設計するに当たり、  1.機構や材質にどのようなものを使用するべきなのか?  2.電気関連(配線、静電気、EMC関連)部品は何を使用するべきか?  3.排気はどの様な箇所に設けるべきなのか? が不明です。御存知の方御教示ください。また参考URLや書籍があれば、併せて御教示いただけると幸いです。

  • クラス設計について

    UMLの本でクラス図の描き方を勉強しています。クラス図を描くためには実際にオブジェクト指向で開発する場合にどのようにクラスを設計するかがわからないのとかけないので、Javaのカテゴリで質問させて頂きます。(未だにクラスをどのように設計するのか、わかっていないので。。) 例えば、以下のような大学の授業登録システムがあったとします。 (1)共通のログイン画面に対して、生徒、先生、アドミニストレータが個々のID・パスワードでログイン出来る。それぞれ出来る操作は異なる。 (2)生徒は、授業の登録、削除が行える。また、自分の登録した授業のスケジュールを印刷することが出来る。 (3)先生は、生徒の評価が行える。自分の持っている授業のスケジュールを印刷出来る。 (4)アドミニストレータは、授業の登録、削除、ログインユーザの登録、削除を行える。 とあった場合、どのようなクラス(属性&操作)を定義しますか?勿論、答えはたくさんあると思いますし、「一般的な答え」というものも存在しないのかも知れませんが、もしご意見が聞けると幸いです。 ※「UMLがわかる」という本ではコントローラとエンティティでクラスを作っているようで参考になったのですが一例しかなかったので上記の場合だとどうなるのかが知りたくて質問致しました。

    • ベストアンサー
    • Java
  • コードの品質に関する情報

    VBに限らないことなのですが、 「保守性をよくする」、「なるべくバグを出さない」などと 品質が高くなるように心がけてコードを書いているつもりなのですが、 自己流でやっているので、ステップアップのために参考になる書籍を探しています。 品質を上げるための手法は問いません。 .NET、JAVAでオススメのものを教えていただけないでしょうか?

  • 社内SEはコーディングが出来ないとダメ?

    諸事情により転職をすることになりました。 現職ではメーカーの社内SEを担当していたのですが、要求定義や基本設計、テスト、保守管理のみ担当しコーディングが外注ベンダに委託していたのですが、先日某ソフト会社の面接を受けた際、「コーディング出来ないならSEと言わない」と言われてしまいました。 やっぱりコーディング実績がないとIT業界での転職は無理なんですかね?