ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

メール 短時間で片付ける裏ワザは、「開かない読まない」&「メールで返事しない」

2006-11-11 22:27:11 | Weblog

ここの「ライブドア」ニュース
メール 短時間で片付ける裏ワザ
http://news.livedoor.com/webapp/journal/cid__2702771/detail?rd


メールを短時間で片付けるウラ技は(以下上記ニュースより引用)

●開かない読まない
●フォルダーで細かく分類
●アドレス帳を整理してあるか
●メールで返事しない
●添付ファイルはあとで開く


 さすが、「ライブドア」ニュースだ。
 たしかに、堀江氏も、メールで返事しなければ、証拠は残らず、自分にとって有利だったであろう。
 機密保護の観点からも、「メールで返事しない」??
 。。。って、じゃあ、メールを送る意味って(^^;)




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

デザインパターンの23種類の各パターンは、要するにこうだ!と言い切る(その3:振る舞い編1)

2006-11-11 16:55:36 | JavaとWeb

 さっき、シリーズモノをまとめて書きましたけど、抜けているのに気づきました!!
 シリーズデザインパターンの23種類の各パターンは、要するにこうだ!と言い切るというのがありました。ついでなので、今日は続きを書きます。

 このシリーズ、GoF本の、デザインパターン23個は、結局、一言でいいきると、なんなんだ!というのを書いてます。かなり独断と偏見で書いてます。
 GoF本のデザインパターンは、主に3つにわかれます。
 1つめは、生成に関するもの
 2つめは、構造に関するもの
 3つめは、振る舞いに関するもの

 で、生成に関するものと、構造に関するものは書いたので、今日は振る舞いに関するものなのですが。。

 振る舞いに関するものは、
  1.Chain Of Responsibilityパターン
  2.Commandパターン
  3.Interpreterパターン
  4.Iteratorパターン
  5.Mediatorパターン
  6.Mementoパターン
  7.Observerパターン
  8.Stateパターン
  9.Strategyパターン
 10.Template Methodパターン
 11.Visitorパターン
 とあって、長いので、今回は、5番のMediatorパターンまでやります。
 なお、デザインパターンの具体的なプログラムは、
JavaでHello World > デザインパターン
http://www.hellohiro.com/pattern/

に載っているので、気になる人はそちらを参照してみてください。
なお、この内容は、増補改訂版Java言語で学ぶデザインパターン入門を参考にしています。



■Chain Of Responsibilityパターン

 自分に関係のあるもの(イベント)だけ、とってきて仕事するっていうものです。

 結果として、「責任のたらいまわし」といえますね(^^;)
 Javaでなければ、たとえば、BREWのイベント処理(HandleEvent)などでは、
	//	テキストエリア1
	if ( ITEXTCTL_HandleEvent(pMe->pText1,eCode,wParam,dwParam) == TRUE )
	{
		return	TRUE;
	}

	//	テキストエリア2
	if ( ITEXTCTL_HandleEvent(pMe->pText2,eCode,wParam,dwParam) == TRUE )
	{
		return	TRUE;
	}

	//	めにゅー
	if ( IMENUCTL_HandleEvent(pMe->pMenu1,eCode,wParam,dwParam) == TRUE )
	{
		return	TRUE;
	}


のように、
まず、テキストエリア1のイベントかどうか聞いて、そうなら処理して抜ける、
違うときは、テキストエリア2のイベントかどうか聞いて、そうなら処理して抜ける
それも違うときは、メニュー1のイベントかどうか聞いて、そうなら処理して抜ける
  :
  :
などというように、順番に聞いていって処理するっていうことをしますが、
それのJAVA版です。



■2.Commandパターン

 命令(=コマンドとか、要求)を、クラスで表現する方法です。

 たとえば、元に戻す処理とか、繰り返し処理をしたいため、実行した命令を、履歴として保存したいときがあります。
 そういうとき、命令をそのままもっていると便利なのですが、そんなときのためのパターンです。




■3.Interpreterパターン

 命令「文」を、文法規則に基づいて処理(構文解析)するクラスです
 Commandパターンは、命令そのものを保持するクラス(文として書かれているわけではない)、Interpreterパターンは、命令が文章になって書かれているとき、その文章を解析(パース)して処理するクラスです。





■4.Iteratorパターン

 いままでとは全然関係ない話。

 順番に処理させたいとき、nextで次のものを取り出せて処理できるようにします。
 Java.util.Iteratorにインターフェースがあります。
 で、これ、JavaでSetなんかで使う。Set.iterator()とやるとIteratorがもらえるので
 そこから操作する。。。

 けど、Setのときは、toArray(new String[0])とかやって、配列にしちゃって、
 あとは、配列をまわしてアクセスするように、Iteratorを使わないことも多い(というか、使わないほうが多い)。

 ただし、こういうデザインパターンがあるってことは、配列よりもメリットがあるケースがあるということで、どういうときかというと、仕様が変更になって、たとえば、読み飛ばしなどが出てきた場合、配列でやってると、すべてその箇所に修正がアイルが、Iteratorを実装したクラスでnextを使ってアクセスしている場合、そのIteratorを実装したクラスだけを修正すれば、読み飛ばしが全部実現できる。っていうメリットがある。




■5.Mediatorパターン

 クラスの独立性あげるため(依存性を下げるため)クラス間のやり取りを1つのMediatorの実装クラスにまとめて、Mediator(仲介者、ま、エージェントみたいなもん)とやり取りするだけで、自分は良くわかんないけど、欲しい結果が来るようにする。

 こうすれば、仕様変更はMediator内部だけの話ですむようになる。
 (ま、実際には、引数の引渡しが違うとかいろいろあるかもしんないけど、基本的には)

 似たような話で、ファザードがあるけど、ファザードの場合は、APIを共通化(そのため、窓口となるファザードクラスを1つ設ける)することにより、プログラムを書きやすくする(とりあえす、ファザードクラスに渡せば何とかなるから)ってする話だった。
 つまり、ファザードのクラス内部でどーなるかの話はしていない。
 だから、ファザード内部で呼ばれる処理は、ファザードクラスのなかだけで処理してるかもしれないし、Mediatorパターンのようにしてるかもしれないし、ファザードクラスの中で利用されるクラスの独立性は低く、相互依存してるかもしれない。
 っていうことで、ファザードクラスでどう処理しているかはわからない。

 つまり、こんなかんじ。





ということで、今回はここまで。このシリーズの次回は、この続きからだけど、
いつやるかは不明です(このシリーズは不定期なのです。で、そのシリーズが終わって初めて、このシリーズをやった理由、つまり開発現場で、GoFのパターンはどう使われているか、いないかについてを加工と思っています)


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

このブログ、3年目に入りました。みていただいて、ありがとうございますです

2006-11-11 12:11:32 | Weblog

 このブログ、昨日で、2周年になります(第一回は、2004年11月10日)。
 で、もう3年目に突入したわけなのですが、ここまで続けられたのは、みなさんにもていただいた、おかげであります。本当にありがとうございます。

 といっても、このサイトが、どれくらい見られているのか、みなさんには、さっぱり??
 かもしれないので、ちょっとかいておくと

  開設当時は、1日に、1人みるかどうか。。。(^^;)
  2年たった昨日は、閲覧数1387、アクセスIP数547 
         (ちょうど300位です。約67万人中くらいみたい)

 なので、大違いです。

 もともと、このサイトは、「コピーされるほど儲かるシステム」っていうメルマガ用ブログだったのですが、なぜかメルマガの発行は最近してなくて(いかんいかん ^^;)、こちらのブログは、コンピューター中心になってます。

 もっとも、3年目にあたり、もちょっと範囲を広げ、というか、当初の分野にもどり、コンテンツの著作権問題や、放送、通信までも、含めようと思っております(前回のネタはそれで、著作権)




 で、最近、アクセスが上がってきたわけですが、参考までに、どんなサイトのネタ話を使っているかを書いてみたいと思います。

 まず、最近本家もこちらも共通にねた元にしているのは
   イミフwwwうはwwwwおkwwww
   痛いニュース
   Gooブログランキング
   YAHOOニュース
   Livedoorニュース
   アメーバニュース

おもにこちらだけで使っているのは
   Impress Watch
   ITmedia
   CNET Japan
   スラッシュドットジャパン
   GIGAZINE
   GIZMODO
です。こんなのを巡回して、だいたい記事にしてます。




 シリーズものは、今
 ・BREWで複数画面を開発する場合の方法論
 ・仕様書からプログラムソースを生成する方法(BREWから派生)
 ・JavaMail(一時的。そんなにながくするつもりなし)
 ・Javaの画面表示
 ・Hello World以前のプログラム言語(土日のみ)

 が動いていますが、今後、以下のシリーズを予定しています
  ・開発工程全体について(Javaの話が終わったら)
  ・iアプリでBREWと同じ話をする(BREWが終わったら)
 って、こんな感じです

 今後とも、よろしくお願いいたします!!

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする