アーカイブ:2021年 8月
-
【関数型言語】「計算モデル」の種類
08.29
機械が保持している計算モデルは3つのモデルがあります。 命令型モデル アランチューリングが考案した。JavaやCなどで採用される一般的なモデル、「計算」とは「命令を実行する」こと。 命令 計算機の状態を変更する処理のこと。例をあげれ…
-
【プログラミング】「副作用」について
08.29
副作用の例 実行するタイミングによって何の値が返ってくるかわからない処理が記述してある。 時刻を取得する処理 ファイル読み込み DB読み込み 環境変数の参照 グローバル変数参照 乱数生成 Ja…
-
【プログラミング】パラダイム
08.29
手続き型 プログラムとは機械の操作の記述だ。 オブジェクト指向 プログラムとはオブジェクト間のメッセージのやり取りだ。手続き型に比べて抽象化されている。 コード同士の依存関係をうまく管理して変更に強くなる。 DDDなどの設計手法を…
-
【デザインパターン】「Observer」パターン
08.29
Observerパターンとは? 要は「通知が欲しいとき」のデザインパターンです。どこか1箇所のクラスで監視させておいて値が変わったら全ての依存するクラスに対して通知を行います。 「Observer:観察する側」と「Subject:観…
-
【リファクタリング】「クラスのよくある命名」
08.28
クラスの名前をつける際に、単に「Model」とかだとわからなくなるので、以下の命名を意識すると良い。(クラス名は「名詞」にする。) 業務アプリ層 Action 操作そのもの。(例:ClickAction) Controller D…
-
【リファクタリング】「驚き最小の法則」
08.28
驚き最小の原則 要は、人間やユーザーやプログラマが最も自然だと思える名前を選択するべきといこと。 例 validという名前がついているのにチェック処理以外に、データ変換処理まで行ってしまっているなど名前からは想像できないものにはしない…
-
オープンクローズドの原則とは 「機能を拡張する」(オープン)と「修正を行わない」(クローズド)という一見矛盾するこの二つを同時に要求する内容のこと。 要は。。。 モジュールに新たな振る舞いを追加する際に既存コードを修正せずに新しいコー…
-
【オブジェクト指向】「SOLIDの原則」の概要
08.28
SOLID原則とは? 1990年代後半〜2000年代にロバートCマーチンによって提唱されたモジュール間の接続の概念。SOLIDはオブジェクト指向においてバリエーションを扱う上で守った方が良い概念を集めた原則(「S:単一責任の原則」だけはこ…
-
特徴 値として扱うクラス DB項目を扱う。 ただ、項目に対してビジネスロジックがない場合は基本データ型でも良い。 別インスタンスでも値が同じなら同じものと判断する。 普通のクラスと違って扱いはインスタンスというよりは値に着目する。…
-
Entity(エンティティ) データベースのデータに対するビジネスロジックの置き場所として使うカスタムクラスです。 Entityの特徴 一意性のあるデータの一塊り あるインスタンスは他のインスタンスと重複しない。ユニーク。 SQL…