コンピュータC#でデザインパターン「Mementoパターン」 オブジェクトの状態を外部に公開せずに保存し、後でその状態に復元するためのパターンみたいです。ウィキペディアの「Mementoパターン」のページサンプルコードusing System.ComponentModel;using System.D... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Stateパターン」 オブジェクトの内部状態に応じて振る舞いを変更し、状態遷移をクラスとして表現するパターンです。ウィキペディアの「Stateパターン」のページサンプルコード/// <summary>/// Stateパターンのサンプルコード/// </summ... 2025.05.04コンピュータ
コンピュータC#でデザインパターン「Strategyパターン」 Strategyパターンは処理のアルゴリズムをカプセル化し、実行時に切り替えることを目的としたパターンです。ウィキペディアの「Strategyパターン」のページサンプルコード/// <summary>/// Strategyパターンのサンプ... 2025.05.03コンピュータ
コンピュータC#でデザインパターン「TemplateMethodパターン」 クラスが提供する機能(TemplateMethod)を実現するため、その実装の一部をサブクラスに任せることで、コードの柔軟性と再利用性を高めるパターンウィキペディアのTemplateMethodパターンのページサンプルコード/// <sum... 2025.05.03コンピュータ
コンピュータC#でデザインパターン「Visitorパターン」 Visitorパターンは、既存のクラスの構造を変更することなく、それらのクラスに対する新しい操作(メソッド)を外部から追加することを目的としたデザインパターンみたいです。Wikipediaの「Visitorパターン」サンプルコード/// <... 2025.05.03コンピュータ
コンピュータC#でデザインパターン「Compositeパターン」 Compositeパターンと言ったらファイルシステムでしょう。ということでサンプルコードを作成してみました。using System.ComponentModel;using System.Runtime.CompilerServices;... 2025.05.02コンピュータ
コンピュータ3.5インチHDDは意外と遅くないと気が付く メインPCのHDDからSSDへの置き換えが完了して大分時間が経過しました。ファイルのバックアップ用に3.5インチHDDを接続していたのですが、そちらを動画作成用のプロジェクトフォルダとして使ってみました。極端に遅くなってしまい、SSDの速度... 2025.05.02コンピュータ
コンピュータC#でデザインパターン「AbstractFactoryパターン」 GUIのアプリケーションを作成する場合、ButtonやLabelなどのコントロールを配置すると思いますが、OSなどプラットフォームごとに生成するオブジェクトが異なる場合でも、生成する過程を抽象化することで同じ生成コードが適用できるようにする... 2025.05.02コンピュータ
コンピュータC#ででデザインパターン「FactoryMethodパターン」 オブジェクトの生成工程と生成するクラスを分離したパターン。クラスを差し替えたりすることで、開発と本番環境の切り替えなどがスムーズに出来るようです。サンプルコード/// <summary>/// FactoryMethodパターンのサンプルコ... 2025.05.02コンピュータ
コンピュータC#でデザインパターン「Facadeパターン」 複数のオブジェクトのメソッドを決まった手順で実行する処理がある場合、Facadeオブジェクトで手順を実行するメソッドとすることで、シンプルなインターフェイスを提供する目的。プログラミングで関数(メソッド)やサブルーチンを作る目的と同じ感じで... 2025.05.01コンピュータ
コンピュータC#でデザインパターン「Mediatorパターン」 オブジェクト同士で通信する場合、Mediatorというオブジェクトを介して通信を行うパターン。/// <summary>/// Mediatorパターンのサンプルコード/// </summary>class MyMediator{ Dict... 2025.05.01コンピュータ
コンピュータC#でデザインパターン「Prototypeパターン」 文章を作成する際、過去に似たいような文章を流用し、異なる部分だけを修正することがあります。これをオブジェクト指向プログラミングを表現するのが「Prototypeパターン」のようです。生成済みのオブジェクトをコピーし、新しいオブジェクトを作る... 2025.04.30コンピュータ
コンピュータC#でデザインパターン「Flyweightパターン」 Flyweightパターンは、オブジェクトに共通の属性がある場合、その属性のオブジェクトを一つ作りそれを参照すると、一か所に集約されるため、一か所を編集するだけで参照している全てのオブジェクトに反映されます。また、参照ですのでメモリの節約に... 2025.04.30コンピュータ
コンピュータJavaScriptで一定の間隔で角度の違う線を引く 昔どこかで見た線を引くサンプルプログラムをJavaScriptで再現してみます。こんな感じだったような気もしますが、中心部分の空白が無かったような気もします。ソースコード<!DOCTYPE html><html lang="ja"> <he... 2025.04.28コンピュータ