Avatar

設計パターンを疑え

名前の嘘を暴き、意図で設計を語る

  1. Home
  2. About
  3. お仕事のご依頼
  4. Perl Advent Calendar 2025 - AI Edition
  5. Archives
  6. Search
  7. Links
  8. プライバシーポリシー
  9. お問い合わせ
    1. ダークモード

アーカイブ

2026 554
2025 85
2024 1
2023 1
2022 1
さらに見る

タグ

Perl Moo Design-Pattern Refactoring Life Social Code-Detective Design-Patterns Web Movabletype Mojolicious Favorites Series-Toc Yapc Ai Game Git Perl-Entrance Code-Archaeologist Code-Chef
Featured image of post 第6回-実行時に出力形式を切り替えよう - Mooを使ってデータエクスポーターを作ってみよう

第6回-実行時に出力形式を切り替えよう - Mooを使ってデータエクスポーターを作ってみよう

実行時にCSV→JSON→YAMLと出力形式を切り替えたい。is => 'rw'を活用した動的なオブジェクト切り替えの実装方法を解説します。

09, 2026
読了時間: 5分
Featured image of post 第5回-エクスポーターを管理するクラスを作ろう - Mooを使ってデータエクスポーターを作ってみよう

第5回-エクスポーターを管理するクラスを作ろう - Mooを使ってデータエクスポーターを作ってみよう

エクスポーターを一元管理するクラスが欲しい。Contextパターンの考え方でDataExporterクラスを作成し、処理の委譲を学びます。

09, 2026
読了時間: 4分
Featured image of post 第4回-Moo::Roleで共通の約束を決めよう - Mooを使ってデータエクスポーターを作ってみよう

第4回-Moo::Roleで共通の約束を決めよう - Mooを使ってデータエクスポーターを作ってみよう

複数のエクスポータークラスに共通ルールを設けたい。Moo::Roleのrequiresでインターフェースを定義し、統一的なAPI設計を実現します。

09, 2026
読了時間: 5分
Featured image of post 第3回-出力処理を専用クラスに分けよう - Mooを使ってデータエクスポーターを作ってみよう

第3回-出力処理を専用クラスに分けよう - Mooを使ってデータエクスポーターを作ってみよう

複雑なif/elseをスッキリさせたい!CSV出力を専用クラスに分離して、責務分離の考え方とMooでのクラス設計を学びます。

09, 2026
読了時間: 5分
Featured image of post 第2回-新しい形式を追加すると大変!条件分岐の悩み - Mooを使ってデータエクスポーターを作ってみよう

第2回-新しい形式を追加すると大変!条件分岐の悩み - Mooを使ってデータエクスポーターを作ってみよう

YAMLやXML形式も追加したらコードが複雑に…。if/elseが肥大化する問題を体感し、なぜリファクタリングが必要なのかを理解します。

09, 2026
読了時間: 5分
Featured image of post 第1回-CSVとJSONでデータを保存しよう - Mooを使ってデータエクスポーターを作ってみよう

第1回-CSVとJSONでデータを保存しよう - Mooを使ってデータエクスポーターを作ってみよう

アドレス帳データをCSVやJSONで保存したい。if/elseで形式を切り替えるシンプルな実装から始めて、Mooを使ったデータエクスポーターの基礎を学びます。

09, 2026
読了時間: 4分
Featured image of post Mooで作る簡易テキストエディタ - 目次(全10回)

Mooで作る簡易テキストエディタ - 目次(全10回)

PerlとMooでテキストエディタを作りながらCommandパターンを学ぶ全10回のシリーズ記事です。Undo/Redo機能を実装し、デザインパターンの考え方を身につけます。

08, 2026
読了時間: 3分
Featured image of post 第10回-これがデザインパターンだ! - Mooで作る簡易テキストエディタ

第10回-これがデザインパターンだ! - Mooで作る簡易テキストエディタ

完成したエディタの設計が、GoFのCommandパターンだったことを明かします。パターンの構造と応用例を解説し、シリーズ全体を振り返ります。

08, 2026
読了時間: 8分
Featured image of post 第9回-完成!簡易エディタ - 統合と仕上げ - Mooで作る簡易テキストエディタ

第9回-完成!簡易エディタ - 統合と仕上げ - Mooで作る簡易テキストエディタ

これまで作成したEditor、コマンドクラス、History、MacroCommandを統合し、対話的に操作できるCLIベースの簡易テキストエディタを完成させます。

08, 2026
読了時間: 8分
Featured image of post 第8回-複数操作をまとめる - マクロ機能 - Mooで作る簡易テキストエディタ

第8回-複数操作をまとめる - マクロ機能 - Mooで作る簡易テキストエディタ

複数の操作を1つにまとめるMacroCommandクラスを実装します。Compositeパターンを活用し、複数操作の一括実行と一括Undoを実現します。

08, 2026
読了時間: 9分
Featured image of post 第7回-やり直しもできる! - Redo機能 - Mooで作る簡易テキストエディタ

第7回-やり直しもできる! - Redo機能 - Mooで作る簡易テキストエディタ

Historyクラスにredoメソッドを実装し、Undoした操作をやり直せるようにします。undo_stackとredo_stack間のコマンド移動を理解し、Undo/Redoの連続操作をマスターします。

08, 2026
読了時間: 9分
Featured image of post 第6回-履歴を管理しよう - Historyクラス - Mooで作る簡易テキストエディタ

第6回-履歴を管理しよう - Historyクラス - Mooで作る簡易テキストエディタ

操作履歴を管理するHistoryクラスを作成します。undo_stackとredo_stackでスタック管理を行い、execute_commandとundoメソッドを実装。履歴管理のカプセル化を学びます。

08, 2026
読了時間: 10分
Featured image of post 第5回-共通の約束を決める - ロールの活用 - Mooで作る簡易テキストエディタ

第5回-共通の約束を決める - ロールの活用 - Mooで作る簡易テキストエディタ

InsertCommandとDeleteCommandに共通のインターフェースを保証するため、Moo::Roleでrequiresを使ったCommand::Roleを作成します。コンパイル時に不足メソッドを検出できる安全な設計を学びます。

08, 2026
読了時間: 7分
Featured image of post 第4回-元に戻せるようにする - undoメソッド - Mooで作る簡易テキストエディタ

第4回-元に戻せるようにする - undoメソッド - Mooで作る簡易テキストエディタ

各操作に「逆操作」を定義してUndo機能を実現します。InsertCommandにundoメソッドを追加し、挿入の逆である削除を実装。DeleteCommandクラスも作成します。

08, 2026
読了時間: 10分
Featured image of post 第3回-操作を記録しよう - 操作オブジェクト - Mooで作る簡易テキストエディタ

第3回-操作を記録しよう - 操作オブジェクト - Mooで作る簡易テキストエディタ

「何をしたか」を記録するために、操作そのものをオブジェクトにするアイデア。InsertCommandクラスを作成し、操作のオブジェクト化を学びます。

08, 2026
読了時間: 7分
1 … 32 33 34 … 101
© 2000 - 2026 設計パターンを疑え
システム開発・AIワークフローのご相談は Meetsource へ
Hugo で構築されています。
テーマ Stack は Jimmy によって設計されています。