コンピュータ

C#でデザインパターン「Mementoパターン」

オブジェクトの状態を外部に公開せずに保存し、後でその状態に復元するためのパターンみたいです。ウィキペディアの「Mementoパターン」のページサンプルコードusing System.ComponentModel;using System.D...
コンピュータ

C#でデザインパターン「Stateパターン」

オブジェクトの内部状態に応じて振る舞いを変更し、状態遷移をクラスとして表現するパターンです。ウィキペディアの「Stateパターン」のページサンプルコード/// <summary>/// Stateパターンのサンプルコード/// </summ...
コンピュータ

C#でデザインパターン「Strategyパターン」

Strategyパターンは処理のアルゴリズムをカプセル化し、実行時に切り替えることを目的としたパターンです。ウィキペディアの「Strategyパターン」のページサンプルコード/// <summary>/// Strategyパターンのサンプ...
スポンサーリンク
コンピュータ

C#でデザインパターン「TemplateMethodパターン」

クラスが提供する機能(TemplateMethod)を実現するため、その実装の一部をサブクラスに任せることで、コードの柔軟性と再利用性を高めるパターンウィキペディアのTemplateMethodパターンのページサンプルコード/// <sum...
コンピュータ

C#でデザインパターン「Visitorパターン」

Visitorパターンは、既存のクラスの構造を変更することなく、それらのクラスに対する新しい操作(メソッド)を外部から追加することを目的としたデザインパターンみたいです。Wikipediaの「Visitorパターン」サンプルコード/// <...
コンピュータ

C#でデザインパターン「Compositeパターン」

Compositeパターンと言ったらファイルシステムでしょう。ということでサンプルコードを作成してみました。using System.ComponentModel;using System.Runtime.CompilerServices;...
コンピュータ

3.5インチHDDは意外と遅くないと気が付く

メインPCのHDDからSSDへの置き換えが完了して大分時間が経過しました。ファイルのバックアップ用に3.5インチHDDを接続していたのですが、そちらを動画作成用のプロジェクトフォルダとして使ってみました。極端に遅くなってしまい、SSDの速度...
コンピュータ

C#でデザインパターン「AbstractFactoryパターン」

GUIのアプリケーションを作成する場合、ButtonやLabelなどのコントロールを配置すると思いますが、OSなどプラットフォームごとに生成するオブジェクトが異なる場合でも、生成する過程を抽象化することで同じ生成コードが適用できるようにする...
コンピュータ

C#ででデザインパターン「FactoryMethodパターン」

オブジェクトの生成工程と生成するクラスを分離したパターン。クラスを差し替えたりすることで、開発と本番環境の切り替えなどがスムーズに出来るようです。サンプルコード/// <summary>/// FactoryMethodパターンのサンプルコ...
コンピュータ

C#でデザインパターン「Facadeパターン」

複数のオブジェクトのメソッドを決まった手順で実行する処理がある場合、Facadeオブジェクトで手順を実行するメソッドとすることで、シンプルなインターフェイスを提供する目的。プログラミングで関数(メソッド)やサブルーチンを作る目的と同じ感じで...
コンピュータ

C#でデザインパターン「Mediatorパターン」

オブジェクト同士で通信する場合、Mediatorというオブジェクトを介して通信を行うパターン。/// <summary>/// Mediatorパターンのサンプルコード/// </summary>class MyMediator{ Dict...
コンピュータ

C#でデザインパターン「Prototypeパターン」

文章を作成する際、過去に似たいような文章を流用し、異なる部分だけを修正することがあります。これをオブジェクト指向プログラミングを表現するのが「Prototypeパターン」のようです。生成済みのオブジェクトをコピーし、新しいオブジェクトを作る...
コンピュータ

C#でデザインパターン「Flyweightパターン」

Flyweightパターンは、オブジェクトに共通の属性がある場合、その属性のオブジェクトを一つ作りそれを参照すると、一か所に集約されるため、一か所を編集するだけで参照している全てのオブジェクトに反映されます。また、参照ですのでメモリの節約に...
コンピュータ

JavaScriptで一定の間隔で角度の違う線を引く

昔どこかで見た線を引くサンプルプログラムをJavaScriptで再現してみます。こんな感じだったような気もしますが、中心部分の空白が無かったような気もします。ソースコード<!DOCTYPE html><html lang="ja"> <he...