この記事は、Design Patterns(いわゆる GoF 本)の一次ソースである原典にあたり、GoF が提唱したデザインパターンの本質を理解しようと試みた記録です。
今回はアダプターパターンについて調べます。
原典は Amazon で購入できます(Kindle 版もあります)。
※画像をクリックすると Kindle 版の購入ページに飛びます(アフィリエイトではありません)。
この記事は、Design Patterns(いわゆる GoF 本)の一次ソースである原典にあたり、GoF が提唱したデザインパターンの本質を理解しようと試みた記録です。
今回はアダプターパターンについて調べます。
原典は Amazon で購入できます(Kindle 版もあります)。
※画像をクリックすると Kindle 版の購入ページに飛びます(アフィリエイトではありません)。
スペルミスは良くあることなので、気づいたら直せば良いのですが、和製英語は広く社会に認知されているのでどうしようもないのが困ります。
SonarLint を使っていなければ気づかなかったシリーズ。
C# は C++ と比べて変なテクニックを山ほど覚える必要がなく、とても扱いやすい言語だと思っていたのですが、最近はそうでもないと思うようになってきました。
using System; // ヒャッハー集団のベースクラス public class HyahhaaBase : IDisposable { public virtual void Dispose() { // アンマネージドリソースを解放する処理 } } // モヒカンヒャッハークラス sealed class MohicanHyahhaa : HyahhaaBase { public override void Dispose() { // 子クラスのアンマネージドリソースを解放する処理 } }
このコードはメモリリークします。
SonarLint については以下の記事で簡単に紹介しています。
その他の、SonarLint を使っていなければ気づかなかったシリーズ。
商業レベルの堅牢なソースコードを書くときに、とても役に立ちます。
“【C#】Visual Studio 2022 で SonarLint を使ってソースコードをより堅牢にする” の続きを読む
class なんかすごいマネージャー
{
クラス A を生成
クラス B を生成
クラス C を…
…以下、延々と続く
クラス A を生成する前の準備
クラス B を生成する前の準備
クラス C を…
…以下、延々と続く
クラス B の状態を変える
クラス D の状態を変える
…以下、延々と続く
クラス B の状態を返す
クラス C の…
…以下、延々と続く
クラス A のコールバック先
クラス B の…
…以下、延々と続く
}
省略しているが、扱うクラスは10個以上。
メソッドの実装コードを含めると1000行を超える