依存性について考える にゃんこ編

アドベントカレンダー4日目

はい、バスクリンことメルマガの人です(バスクリンがわからない人は社員旅行に行った人から聞いてください)入社して1年経ったので、そろそろアドベントカレンダーにも参加してみようと思います。

しかしネタがない。というかネタ自体はいっぱいあるんだけど、普段メルマガで技術的なことを書いているのでブログくらい自由に書いてもいいかなと思ったので、今回はネタ探しの旅からスタート。

ネタを探して

最近はメルマガで依存性の話をしていたので、実生活での依存性は何かということで探してみました。バスクリンは最近仕事で疲れているので癒しが必要です。癒しと言えばモフモフ。モフモフと言えば猫カフェです。

探索の場所は大阪の日本橋にしました。東京の人にはピンとこない人もいるかもしれないので、簡単に説明すると「秋葉原」です。大阪の日本橋も秋葉原と同じで電気街からアニメ・ゲームのお店へシフトしています。

にゃんこ求めて3000里

日本橋までやってきてまずは猫カフェへGO。昔、彼女がいた頃に何回か行ったことのある猫カフェに行ってみると、まさかの閉店( ゚д゚)ハッ!

このお店、1Fがメイド喫茶になっている猫カフェで、メイドさんたちが出勤とか着替えに猫カフェスペースに上がってくるお店でした。出勤前のダルそうなメイドさん達も見れてなかなか面白いお店だったんですが、今年の1月末で閉店になったみたいです。

そこで急遽、新しいモフモフを求めてgoogle先生に質問。少し離れてたけど近くにありました。

猫カフェ 子にゃんこの部屋

クリックするとアメブロのページが開きます。店員のお姉さんにリンクと写真のアップの許可はもらってます。

そうそう、アメブロと言えばバスクリンもアメブロやってます。今年は10月某日に「ジャンル別デイリーランキング」のTVゲーム、オンラインゲーム部門で2位になりました。いつもは200位くらいをウロウロしています。

要求と疎通

猫カフェに入ると、お姉さんからにゃんこの説明があり、注意点とかを聞いて手洗いをしてから猫と遊びます。料金はオヤツなしで1時間800円、おやつ付きなら900円とかなりリーズナブル。もちろんオヤツ付きを選びます。

オヤツを購入しなければこうなります。もふもふしたいけど、相手と通信する手段がありません。

このままではにゃんこ様と意思疎通ができません。アプリケーションで言えば呼び出せない・操作できない状況です。これでは困るので、オヤツを介してにゃんこ様と仲良くなってみます。

お互い、オヤツのカリカリという層で意思疎通ができるようになりました。仲良くなった図がこちら。

肩に乗ってくるにゃんこ様。まるで鷹匠の気分です。にゃんこ様はカリカリをお食べになった後なのでご満足。このようにお互いの通信手段として、互いに認識できる層(レイヤー)があると幸せになれます。プログラムで言えばインターフェースや抽象クラスです。もっと大きな単位になるとコンポーネントやプロトコルなんかもこれに該当します。

疎結合と密結合

要求が満たされると、にゃんこ様はまたぷぃっと離れていきます。「もふもふしたかったらカリカリを買え!」と言われているようです。しかし、お互いの依存性はまったくなく、もふもふしたい時だけカリカリを購入して疎通できるので、これは疎結合です。

逆にカリカリはなくなってしまっているのにずっとそばにいるのは密結合です。

この子はカリカリがなくなってもずっとそばに居ました。こうなるともうモフモフし放題です。しなくてもいいような時もモフモフしてしまいました。このように密結合になると、オブジェクトの状態がいつ変更されてもおかしくありません。つまり、オブジェクトの状態が把握しづらい状態になってしまい、可読性が著しく低下します。

システム全体を疎結合にする必要はありませんが、どこを疎結合にするかは設計者のセンスによります。複雑な処理や頻出する処理を疎結合にすることはメリットがありますが、シンプルな処理をわざわざ疎結合にする必要はありません。

最後に

今回は外部向けのブログということで少し例えで遊んでみました(´ω`)まだブログのスタイルが決まっていないので、書く内容が二転三転とするかもしれませんが、アドベントカレンダー以外でもブログが書ければいいなと思っています。

2017年は私にとって現場のマネジメント面で大きな壁がいくつもある年でした。いつもの手法が逆効果となって理解を得るまで時間がかかってしまいました。2018年は勝負の年だと思っています。自分の持っている経験、スキルを最大限に出し切って充実した年にしてみます(´ω`)

About the author

バスクリン

GCの中で好き放題に技術的なメルマガを書いている人。プログラム歴は今年で27年目に突入。普段はシステム技術者として設計やらプログラムを自由に書いてます。好きな言語はC++、C#。

Add Comment

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

By バスクリン

最近の投稿

アーカイブ

カテゴリー

タグクラウド

コーポレートサイト

メタ情報