Date:  Wed, 29 Sep 2004 14:35:05 +0900
Subject:  【オブジェクト倶楽部:2004-36 号】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.64 2004/09/29

■ I N D E X
┃
┣【キーワード】知ってるようで分からないビジネスキーワード勉強会[13]
┣【プログラミング】C#で学ぼうオブジェクト指向入門 [11]
┗【アンケート】気になるシステム業界 ホントのところ
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【キーワード】知ってるようで分からないビジネスキーワード勉強会[13]
               「NLP」

こんにちはhiroshiです。9月も終わりに近づいてきていますが、まだまだ残暑
厳しく、蒸し暑い日が続いています。僕は暑がりなので、家でもまだエアコン
を入れたりしています。皆様はいかがお過ごしでしょうか。今回は、NLPに
ついてご紹介します。

NLPとは、Neuro Linguistic Programming(神経言語プログラミング)の略
です。聞いたことはありますか?僕は、社内ワークショップに参加して初めて
知りました。最初にNLPの成り立ちから説明します。これは、心理療法にお
ける療法士とクライアントのやり取りから、コミュニケーションの仕方や心理
的な問題を解決する秘訣の共通部分を抽出し、体系化したものです。ここに登
場する秘訣とは、どのようなものなのでしょうか。それは、ことわざにもある
ように「目は口ほどにモノを言う」ということです。人間は、感情が変化する
とそれがある特徴的な仕草として現れるようです。そのため考えていることが
カテゴリ別に、ある程度決まった仕草として読み取れるようです。以下のよう
な経験はないでしょうか。(僕の特徴ですので、あまり参考にならないかもし
れませんが)

・  心配事を考えている時には腹を押さえている
・  不安になると下を向いてしまう

NLPに体系付けられた行動、仕草を知っていれば受け手の感情の変化を読み
取り、効果的な話し方が出来ると考えられます。

それでは当日のワークショップの一部をご紹介します。「非言語的変化を見抜
く」です。上記で説明したように、人間は、思っていることが体の変化として
現れます。このワークショップでは、好きな人と嫌いな人を思い浮かべること
で体の仕草を観察し、どちらの人のことを思っているのかを当てました。ちな
みに僕は、他の人に当てられてしまいました。僕の場合は、好きな人のことを
考えている時は目が優しくなり、嫌いな人を思い浮かべている時は視線が硬直
していたようです。他の受講者にも同様のワークショップを行ないましたが、
何らかの特徴的な仕草が出て、思っていることが大体理解できました。
 
NLPは、どのようなことに活用されているのでしょうか。最初に説明した医
療の世界や、さらには教育、ビジネス、アートの世界で広く認知され、コーチ
ングの手法として利用されています。また最近では、コーチングなどのように
周囲の人と効果的にコミュニケーションをとる方法や、モチベーションを向上
させる方法が注目されてきています。ビジネスの世界のみならず、相手の心理
を読み解き、より良い方向へ誘導してあげることは大切なことです。皆さんも
一度NLPについて調べてみてはどうでしょうか。自分に照らし合わせること
で、周りの人がどのように考えているのかが分かると思います。(hiroshi) 
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?D001+12+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?D001+12+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?D001+12+2

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【プログラミング】C#で学ぼうオブジェクト指向入門 [11]

■はじめに
この記事は、初級開発者である私がみなさんと一緒にC#を使ってオブジェクト
指向(OO)の基礎を気軽に勉強していこう、という内容です。

■目標
前回に引き続き『C#の「デリゲート」を理解』をテーマに学習していきます。
前回は、デリゲート元と先が1:1の関係のものでしたが、今回は、1:多の関係
について確認していきます。

■内容
まずはデリゲートを使ったソースコードを見てみましょう。
プログラムは、ある開発風景をプログラムで表現したものです。

======================================================================
using System;

public delegate void SendSOS(String message);
class Developer {
    public SendSOS SendSOS;
    public void WorkWorkWork() {
        // 働く・・・
        SendSOS("助けてくださぁぁぁぁい!!");
    }
}

class Helper {
    private string name;
    public Helper(string name) {
        this.name = name;
    }
    public void Ignore(string message) {
        Console.WriteLine("■===============================■");
        Console.WriteLine(message);
        Console.WriteLine("{0}:・・・", name);
        Console.WriteLine("■===============================■");
    }

    public void Help(string message) {
        Console.WriteLine("■===============================■");
        Console.WriteLine(message);
        Console.WriteLine("{0}:どうした?手伝おうか?", name);
        Console.WriteLine("■===============================■");
    }
}


class MainApp {
    public static void Main() {
        Developer  developer = new Developer();
        Helper helper1 = new Helper("Aさん");
        Helper helper2 = new Helper("Bさん");

        developer.SendSOS += new SendSOS(helper1.Ignore);
        developer.SendSOS += new SendSOS(helper2.Ignore);

        Console.WriteLine("●●●●before●●●●●●●●●●●●●●●●");
        developer.WorkWorkWork();
        
        developer.SendSOS -= new SendSOS(helper1.Ignore);
        developer.SendSOS -= new SendSOS(helper2.Ignore);
        developer.SendSOS += new SendSOS(helper1.Help);
        developer.SendSOS += new SendSOS(helper2.Help);

        Console.WriteLine("●●●●after●●●●●●●●●●●●●●●●");
        developer.WorkWorkWork();
    }
}
======================================================================

■実行結果
======================================================================
    ●●●●before●●●●●●●●●●●●●●●●
    ■===============================■
    助けてくださぁぁぁぁい!!
    Aさん:・・・
    ■===============================■
    ■===============================■
    助けてくださぁぁぁぁい!!
    Bさん:・・・
    ■===============================■
    ●●●●after●●●●●●●●●●●●●●●●
    ■===============================■
    助けてくださぁぁぁぁい!!
    Aさん:どうした?手伝おうか?
    ■===============================■
    ■===============================■
    助けてくださぁぁぁぁい!!
    Bさん:どうした?手伝おうか?
    ■===============================■
======================================================================
■説明
●デリゲートを宣言します。
    public delegate void SendSOS(String message);

●デリゲートをDeveloperクラスで用意してあげます。ここではまだ、実際に
呼び出されるメソッドは決まっていません。
    class Developer {
        public SendSOS SendSOS;

●デリゲート元とデリゲート先を関連付けます。ここで、具体的に呼び出され
るメソッドが決まります。以下のように  +=  で複数のメソッドを関連付ける
ことができます。
        developer.SendSOS += new SendSOS(helper1.Ignore);
        developer.SendSOS += new SendSOS(helper2.Ignore);
また、関連をはずすには、-=を使います。
        developer.SendSOS -= new SendSOS(helper1.Ignore);
        developer.SendSOS -= new SendSOS(helper2.Ignore);

  -= +=を使って簡単にデリゲート先を複数追加・削除できることがわかります。
●デリゲートを呼び出します。
        SendSOS("助けてくださぁぁぁぁい!!");
ここで実際に呼び出されるメソッドは, += で関連付けられた複数メソッドです。

■まとめ
前回、今回と、2回にわたったデリゲートについて学習しました。デリゲーショ
ンは、インタフェースと空の定義と実際の実装を分離するという点で、似た機
能を提供します。どのような状況で、インタフェースの代わりにデリゲーショ
ンを使ったらよいかの判断ですが、今回のようにデリゲート先に複数の実装メ
ソッドと関連付ける、インタフェースのように複数の操作をまとめる必要がな
い、呼び出し先のクラスにインタフェースをつけるのに手間がかかりすぎる、
イベントをつくるの状況では、デリゲーションを使った方がベターと考えられ
ます。デリゲーション、どんどん使っちゃいましょう。(IENAGA) 
_______________________________________________________________________
この記事への評価にご協力をお願いします。
URLをクリックして、「ご協力ありがとうございました」のメッセージがご使用
のブラウザに表示されれば投票完了です。
良かった:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+10+0
普通:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+10+1
イマイチ:
http://www.ObjectClub.jp/cgi-bin/question.cgi?E003+10+2
 
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━3 r d ■━
■
┗【アンケート】気になるシステム業界 ホントのところ

今週は「家事してますか?」のホントのところ。残業天国のIT業界ですが(笑)
みなさん、家事はしておられますか?

  全ての家事を自分1人でしています。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+0
  ほとんどの家事を自分がしてます。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+1
  家事の半分は自分がしてます。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+2
  当番制で少ししてます。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+3
  気が向けば、たまにします。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+4
  一切しません。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+5
  それは秘密です。
     http://www.ObjectClub.jp/cgi-bin/question.cgi?Z001+29+6
  ちょっと語らせて!
     editors@ObjectClub.jp まで詳細を!!

アンケート結果はオブジェクト倶楽部サイト上にて公開します。お楽しみに。
なお、前号「どのUML図を一番よく使いますか?」の結果は公開中。是非ご覧
下さい。
⇒http://www.ObjectClub.jp/special/kininaru
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは、編集人です。「そろそろ長袖が必要ね♪」という台詞もいよいよ
ですね。季節の変わり目、ちょっとせつない秋ですよ。秋というのは幼い頃と
比べるとやはりだんだん魅力的に感じられるようになりました。しかし、「残
暑厳しく、家でもまだエアコンを入れ」ているところもあるんですから(参照
:知ってるようで分からないビジネスキーワード勉強会[13])季節の感じ方も
人それぞれですねぇ(笑)。というか東京は暑いのかな…(と福井にて思う)。

モニタを見つめて暮らしていても、秋の夜長に流れる音楽、平積みされた本、
街の映画館、皆、引力が違うといいますか。「芸術の秋」という言い方には抵
抗感があるのですが、日の光に寂しさが感じられてくるに任せて情緒的になる
のは何だか良いのじゃ…と思うこの頃です。   
 
今週の強引な一言
*** 枝を切って根を枯らす(ことわざ)***
プロジェクトで発生した問題の原因を追究し、根本原因を突き止めることは大
事です。ですが、その解決策は少々過激になっていませんか。人間、いきなり
やり方を大きく変えろといわれるとつい反発してしまいがちです。少しずつ、
根本原因を解決できるような解決策を考えることも大事です。(さわ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒http://www.ObjectClub.jp/community/object_ml/help/
〇 免責事項、過去の記事は   ⇒http://www.ObjectClub.jp/community/object_ml/
■ 発行:オブジェクト倶楽部 ⇒http://www.ObjectClub.jp/
■ 編集代表:平鍋  健児
Copyright (c)2003-2004 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.