2008年7月05日

インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践

インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践
タイトル インターフェイス指向設計 アジャイル手法によるオブジェクト指向設計の実践
出版社 オライリージャパン
わかりやすさ easy
実用性 actual
おすすめ度 push
購入 amazon buy

 本書は、プログラムにおけるインターフェース設計へアドバイスを与えるものです。GUIやデザインの話ではありません。高凝集度で疎結合な設計を行うためにインタフェース設計をどのように進めたらよいか、どのように考えてインターフェースを作れば良いかなどを説明しています。

 システム開発というのは複雑な作業です。その複雑さを少しでも解消するために分割して統治せよ(Divide and Conquer)という理論を用いることが良いことだとされています。このときに大切になってくるのが「凝集度」と「結合度」になります。

 凝集度は高いほど良い、つまり責任範囲が明確でが軸ぶれないほどよいです。結合度は低いほど、つまりそっちはそっちで勝手にやっててねとできるほどよいです。高凝集で低結合(英語で言うと「High Cohesion and Low Coupling!」)なプログラム部品にするために必要なのが「良いインターフェース」なのです。本書は、この良いインターフェースとは何か?どうやって良いインターフェースを設計するか?を解説するものです。

 本書の対象読者は、プログラム経験があり設計に興味がある人、DI(Dependency Injection)って流行ってたけど未だに何が良いのかわからない人、テスト容易性が大事って聞くけどどうやって設計したらいいかわからない人です。

 200ページくらいしかなく、かなり薄い本になっていますのでサクサク読めると思いますが、実はあまり詳しい説明というのが載っていません。内容が薄いのではなく、説明が薄いのです。「こんな場合こういう考えでインターフェースを切ると良いよ。作り方は二種類ある。長所はこれで、短所はこれ」みたいな説明が多いように思えました。

 それでもかなりの良書の部類に入ると思います。さらっと読んで、良く理解できなかった部分は先輩に聞いたり、Webで質問したりして、自分なりに噛み砕いていく。そういう読み方をする本かなと思います。

|  続きを読む>> TOP  
2008年6月29日

ドメイン駆動

ドメイン駆動
タイトル ドメイン駆動
出版社 翔泳社
わかりやすさ easy
実用性 actual
おすすめ度 push
購入 amazon buy

 本書は、ドメイン駆動設計(DDD:Domain Driven Design)について書かれているで、ドメインモデルエンタープライズアプリケーションアーキテクチャアーキテクチャパターンテスト駆動開発を勉強する本です。

 この本のお勧めの点の一つが、筆者の経験をもとにした生きたサンプルにあります。「システム開発は○○の理由でドメイン駆動設計を行ったほうがよい。こういう背景があって、こういうアーキテクチャパターンの適用を考えていく。」こういった生きた経験が本書にちりばめられています。

 対象読者は業務アプリケーション開発に携わるアーキテクチャ、システムエンジニア、開発者さん達です。最近は定着したドメイン駆動設計(ドメイン駆動開発)という言葉ですが、現場で実際に使われているのは実は少ないのではないでしょうか。ドメイン駆動で設計するとはどういったことなのか?本書を読めば、新しい視点が学べると思います。お薦めの一冊です。

|  続きを読む>> TOP  
2008年6月19日

技術メモ

技術メモ用のエントリ

技術者の宝石箱の続きエントリ

|  続きを読む>> TOP  
2007年12月28日

RESTful Webサービス

RESTful Webサービス
タイトル RESTful Webサービス
出版社 オライリー・ジャパン
わかりやすさ easy
実用性 actual
おすすめ度 push
購入 amazon buy

 REST とは リソースの状態を表す「何か」を転送するということを表した、Webアーキテクチャスタイルです。REST はアーキテクチャではなく、アーキテクチャのスタイルであり、実際に REST スタイルのアーキテクチャとして、ROA(リソース指向アーキテクチャ)などがあります。

 本書は、この REST と ROA に関して解説されたもので、RESTful なシステム(REST スタイルに則ったシステム)の設計方針、ROA の考え方などが解説されています。

 Web アプリケーション開発をこれまでしてきた中で、RESTful や ROA な考えでシステムを設計したことがない人には、新しい発見があり、とてもわくわくして読むことが出来ます。

 本書は、特に、Web アプリケーションの設計者、アーキテクトの方が読むと良いと思います。最近話題の REST の詳細を理解したい人、RESTful システムを構築したい人、ROA の考え方を取り入れたい人に本書はお勧めです。

 オライリーっぽいちょっとお堅い文章ですが、楽しく読めると思います。『WEB+DB PRESS vol.42linkext』の現場で使える REST の記事を読んで、REST とは何か? ROA とは何か?の概要を抑えてから読むと、理解が早いと思います。

 お勧めです。

参考: yohei-y:webloglinkext

|  続きを読む>> TOP  
2007年11月27日

Struts2 おぼえがき

 Struts2 は WebWorks2 をベースとした MVC フレームワークです。Struts1 と変わらずコマンドパターンのフレームワークになっています。

 コマンドパターンの実装部分では、OPENSYMHONY の XWork が使われています。

Struts2の特徴

  • WebWorks の後継となる WebWorks2 がベースの MVC フレームワーク
  • コマンドパターンが使われている(XWork が使われている)
  • アノテーションと XML ファイルによる設定
  • ActionForm がない。代わりにアクションにフォームデータを格納する
  • アクションは POJO で作成できる
  • アクションがスレッドセーフ
  • 設定ファイルに OGNL 式が書ける
  • View に JSP、Freemaker、Velocity、XSLT が使える
  • SpringFramework との連携が考慮されている
  • Ajax をサポートしている
  • プラグインによりフレームワークの拡張が行える

情報が正確ではない可能性が大いにあるので(ドキュメント読まずにソース見ながら書いているので・・・)、鵜呑みにしないでください。

 随時更新予定です。

Information 執筆時の環境

|  続きを読む>> TOP  
2007年10月27日

WebLogic でカスタムキーストアを使って SSL 通信を行うおぼえがき

WebLogic9.2J でカスタムキーストアを使ってSSL通信を行うおぼえがきです。

使用した WebLogic は、下記のサイトからダウンロードしました。

日本BEAシステムズ株式会社 Evaluation Center linkext

Information 環境
使用した環境は以下のとおりです。
  • Red Hat
  • WebLogic Server 9.2J & MP
  • OpenSSL
|  続きを読む>> TOP  
2007年10月16日

Lifehacker インターネット時代のワークスタイル改善術!

Lifehacker インターネット時代のワークスタイル改善術!
タイトル Lifehacker インターネット時代のワークスタイル改善術!
出版社 アスキー
わかりやすさ easy
実用性 actual
おすすめ度 push
購入 amazon buy

 ライフハックとは、仕事や生活を快適にし、生産性をあげ、人生をハッピーにする技術のことです。本書はインターネット時代の現代におけるライフハックのノウハウ本です。

 本書では、メールやネット上のツールを使ったハック術を取り上げて、実際の利用方法やTipsを解説しています。全88のハック術を説明しています。ひとつのハックが大体3〜5ページくらいに収まっているので、テンポ良く読み進められます。

 対象読者は、今の自分の仕事環境や生活環境をよりよくしたいと考えている技術者の方です。簡単に導入できるものばかりなので、読んですぐ実践できるのが本書の良いところです。それぞれのハックに、導入レベル、プラットフォーム、導入コストが記されているので、自分の環境に合わせてハックを実践できるようになっています。

|  続きを読む>> TOP