てぃぐれのプログラマwiki

ワクワクに従う

設計

セッションストレージにクラスオブジェクトを json

経緯 Webストレージを初めて使うことになり、キーバリューのデータ構造になるため、頭には単純にキーとバリュー1:1で使うことにしか頭になかったが、Jsonを使うことによって世界が広がったという話。 方法? 方法は単純で、バリューにjsonを格納することによ…

権限設計のコツ 【DB】

waterlow2013.hatenablog.com 経緯 業務で権限機能の設計をする必要が出てきたので、インプット。 ケース 上記サイトからのインプットで今自分がしたいことを抽出してみる。 ①ロールだけパターン ユーザー:ロール = 1:1 ロール:アビリティ = 1 : n ②admin:bo…

DTOとは【C#】

Data Transfer Objectってなに。 オブジェクト設計(デザイン)パターンらしい。 データベースからとってきた値を別クラスで別オブジェクトとして、クライアント用に加工するためのクラス・オブジェクトというイメージ。 ①セキュリティのため 持ってきたデータ…

クラス設計と原則

0, 原則で設計レビュー ・クラス設計した時は、原則を元にレビューしてみるのが良い 1, 単一責任原則 ・あるクラスを変更する理由は二つ以上あってはいけない →Aに対する仕様変更があり時と、Bに対する仕様変更がある時、どちらでも修正する必要があるクラス…

さっくりポリモーフィズムの話

経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 ポリモーフィズム(Polymorphism)とは 日本語では「多態性」とも呼ばれるが、その日本語自体が分か…

さっくり継承の話

経緯 お兄ちゃん〜。オブジェクト指向の基本である継承ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 継承 親クラス(スーパークラス)のデータ(関数、フィールドなど)を引き継ぎ、子クラス(サブクラス)…

さっくりカプセル化の話

経緯 お兄ちゃん〜。オブジェクト指向の基本であるカプセル化ってなぁに?ってこれからプログラミングを勉強する小学生にも教えられるように、言語化しておきたい。 カプセル化 クラスへのアクセスにルールを設けたい。 クラスにはいじっていい値やいじって…

Stateパターン 【デザインパターン】

Stateパターン 「状況(State)」に応じて機能を変更するパターン。 状況の中で次の状況に変更してあげるというのがポイント。 メリット 状況を持たせることで、メインで条件分岐を多くしなくて良いので、ソースが複雑にならない。 状況が整理されていないと、…