インターネットデパート - 取扱い商品数1000万点以上の通販サイト。送料無料商品も多数あります。

Javaオブジェクト指向: クラス設計への応用 実践Java言語シリーズ

価格: ¥0
カテゴリ: Kindle版
Amazon.co.jpで確認
本書に興味を持って頂きまして、誠にありがとうございます。

実践Java言語シリーズ第1部です。

【お知らせ】
2015年12月14日
読みやすく、明快な文章に改善しました。
2016年07月25日 イラストの色を微調整。



本書について


  「オブジェクト指向の考え方を、どのように実際の開発に活かすのか」という事を論じた書物です

  以下の3つの項目から構成されています

    1、(本編)プログラミング技法概論

    2、(本編)オブジェクト指向

    3、(実習)プラグイン機能を持つGUIプラットフォームの開発


  「なぜメインメソッドに全てのプログラムを記述してはいけないのか?」という疑問から出発します。



想定読者


  Java新人研修を修了した方
  拙著「Java言語シリーズ」第2部をご理解頂いている方。または、第3部を一読されている方。

  ※本書はカプセル化、継承、ポリモーフィズムの解説はありません
   (既に学習済みの方を対象としています)



プログラミング技法概論


  既に確立しているプログラミング技法を、例題と伴に解説します。
  最初に良くないプログラムを掲載します。
  そのプログラムを批評した後、良いプログラムへ改修します。
  主な論点は、凝縮度、粒度、疎結合、依存、抽象度です。



オブジェクト指向


  一般的なオブジェクト指向の論点から入り、
  「その考えをどのようにクラス設計に活かすのか」という話まで拡張します。



その他


  本編では、以下の概念も併せて論じます。

    1、型に対してプログラムを書く
    2、インターフェースに対してプログラムを書く
    3、「インターフェースを公開する」という言葉の意味
    4、「インターフェースはクラスに機能を追加する」という言葉の意味
    5、クラス間の「依存の質」の良し悪し、依存の解消と改善
    6、「良い依存」の意味
    7、抽象的なプログラム



プラグイン機能を持つGUIプラットフォームの開発


  本編の学習と平行して、プラグイン機能を持つGUIプラットフォームを開発します。

  Swingアプリケーションにプラグイン機能が存在するもので、
  別の開発者が自由に機能を追加できるプラットフォームです。
  
  Javaの柔軟性、拡張性を体験して頂きたく、この実習内容を取り入れました。
  仕様を記載します。

【プラグインをインストールしていない状態】

pluginフォルダにプラグインファイルが入っていない場合、プラグインがインストールされていない状態です。


アプリケーションルートフォルダ
  ┃
  ┣ platform.jar(実行ファイル)
  ┃
  ┗ plugin(プラグイン保存フォルダ)


platform.jarファイルをクリックするとPC上にウィンドウが表示しますが、プラグインは表示しません。

【プラグインをインストールした状態】

pluginフォルダにプラグインを保存します。(ここでは、editor.jarとdbviewer.jarがプラグインです)


アプリケーションルートフォルダ
  ┃
  ┣ platform.jar(実行ファイル)
  ┃
  ┗ plugin(プラグイン保存フォルダ)
       ┃
       ┣ editor.jar(プラグイン)
       ┃
       ┗ dbviewer.jar(プラグイン)


platform.jarファイルをクリックすると、PC上にウィンドウが表示して、プラグインを選択するメニューが表示します。
メニューで選択したプラグインが、ウィンドウ上で動作します。

※本書に、Swingの解説はありません。
(GUI部分はプログラム技術の本質ではないと考えているからです。但し、全てのプログラムにコメントを残しています)



本編の雰囲気


  読者と本書の間にミスマッチが生じる事は避けたいと思います。
  本編の雰囲気を感じて頂くため、本書で利用している例題を簡略化して掲載します。


  class Statistics{
  
    Student max(Student[ ] students){
      return null;
    }
  }
  Statisticsクラスのmax()メソッドは引数にStudent配列を受け取ります。
  「StatisticsクラスはStudentクラスに依存している」と言えますが、
  この依存は許容できる依存でしょうか?もし依存の質が悪いなら、
  どのようにプログラムを改修すべきでしょうか?云々...


  本編は、このような短い例題を利用して実践的なクラス設計を論じます。
  「小さな例題を利用して、大きな意味を探る」という本編の姿勢は、
  「Java言語シリーズ第3部 Javaプログラム」にとても良く似ています。



「Java言語シリーズ 実践Javaプログラム」と本書の関係


  本書は「実践Javaプログラム」の「クラス設計」の論点を、より平易な文章と解説で再構成したものです。
  「実践Javaプログラム」との違いは以下のとおりです。
  
    1、オブジェクト指向の説明に重心を置いています
    2、「プラグイン機能を持つGUIプラットフォームの開発」という実習内容
    3、例題は短く、解説もあっさりしています(対象読者を狭めたからです)
    4、「依存の質」について論じています

  「実践Javaプログラム」をご購入された方が本書をご購入される必要性について、
  残念ながら著者は判断できません。
  ご興味がございましたら、御一読頂ければ幸いです。



目次


 01 プログラミング基礎

  アプリケーション製造とは
  プログラミング概論-1
  プログラミング概論-2

 02 Javaプログラム

  Javaプログラム概論
  Javaプログラム
  Javaプログラムの改修
  理論基盤

 03 オブジェクト指向

  抽象と具体
  現実世界のモデリング
  2dモデリング
  オブジェクト指向

 04 最終到達点

  機能によるモデリング