オブジェクト指向と財布 - 使いやすさと安全性を考える

財布持ち歩いてますか?その財布ってつまり何ですか?

 

私は財布を持ち歩いていて、なんか貴重な物を入れる革の袋、略してちいかわだと思っていました。非常に荒い理解でした。関係ないけど、ついこないだまで100均のカメラケースを財布にしてました

 

私はシステム開発をやっていて、先日情報処理安全確保支援士試験合格者にもなったので、身の回りをセキュアにしたい。

 

ところで、オブジェクト指向ってご存知ですか?知らないかたはggるか聞き流してください。

オブジェクト指向とはデータとその操作方法を纏めて考えた物なんですが、今回はあまり関係ないです。缶切りが必要な缶よりプルタブが付いた缶の方がうれしいぐらいのイメージでいいです。

そのオブジェクト指向には守ってると嬉しい原則が沢山あって、守ったり破ったりするが、同じオブジェクトなのだから現実のモノ、今回で言うと財布にも適用できるのではないか。

 

色々ある中でも今回は単一責任原則について考える。

簡単に言うと一つのモノは一つの責任=機能だとうれしいということ。

ここで財布は兎に角貴重な物を入れておくものと捉えると、確かに単一に見えるが、フワフワ、なんかフワフワしてない?

もし上述の機能でよければ、金庫とかでもいいはずだ。財布でなければならない理由があるとしたら、それは多分持ち歩く必要があるからだ。

持ち歩く以上これはセキュアさに不安があるし、必要が無ければ持ち歩かない方がいいがそうじゃないということはやっぱり今の理解じゃダメそう。

普通に考えて、財布は買い物に使うのがメインな感じがする。これは金庫に入れていると達成できない機能

現金を入れておくのが本来の機能だと思うし、決済機能が本質なんだと思う。だから、現金とかそれに準ずるカード類をいれている機能が単一の責任と言っていいと思う。

というかここまでは普通に社会の人間ならこの記事の初めの時点で分かってると思う。

 

が、財布には、決済機能と関係ないと言ってよい物も入っている。多くの人が保険証や各病院の診察券が入っている。が、これは支払い時には使うことはない。年齢制限がある物を購入するときはあるかもしれないが、後述するが決済機能と直接かかわりはない。これらは病院に行くときに初めて必要になるのであって、病院での本人確認でしか使わない。特に保険証は月初にしか使わない。勿論病院でも金銭のやり取りが発生するが、本質的には別の概念だ。

 

こう考えると、「決済機能」「病院の奴」と二つ機能が出てくることが分かる。

この病院の奴は病院行くか~となった時しか必要ないので、持ち歩かなくてよい。ので別にした。突然病院に行く奴は仕方ない、全額払おう。まだ、決済機能に関係ない奴がある。

運転免許証は病院の奴でもないし決済機能ではもっとない。

「病院のやつって本人確認という意味で同じ枠では?」うるせ~~~

免許証で代替できるなら本人確認という扱いで良いんだと思うのだが、免許証も保険証もそれぞれ別の本質的な機能があり、その共通機能として本人確認ができるだけなのだ。

免許証 implements 本人確認able

保険証 implements 本人確認able

免許証は「車の奴」ということで車に入れっぱなしにする運用はそういう意味で正しい気がする。けど明らかに本人確認インターフェースで使ってるからそういう運用じゃうまくいかなそうなんだよなあ

あと、免許証を車に入れるのは玄関でしか使わないから家の鍵を玄関に置いておく運用みたいで嫌。隠してる分には良いけど、なんか刺さってない?みたいな感触がある。それと免許証は個人と結びついているのであって、車とは結びついてないので、よくない。正規化出来てない。

 

それで言うと家の鍵も若干面倒なポジションだ。出かける時には必ず持っていくことになるし、「家の奴」っと括る訳にも行かない。あと住所とセットになると面倒なことになるので(なった)安易に「貴重品入れ」に入れるのも良くない。(本当に決済機能だけになった財布なら鍵を入れてもよさそうな気もするが、この記事はそういうことをヨシとしないのでね)

 

あと貴重な物いれという枠組みからすら外れている、ちょうど貰った名刺とか、SDカードとか、ピックとか「なんか小さくてどこ行ったか分からなくなる奴」とかも入ってある・

 

これ、どうしたらいい?一旦病院の奴は別クラスに移した。これ以上どうしよう?

でも、財布は何個もあると大変だからシングルトンにしたいよ

 

追記:

    タイトルはAIが生成する機能があったのでそれを使いました。元タイトルは「財布が神クラスだった」