設計 8 11月 2024 ソースコードの中のビジネスロジック ソストウェア設計の話の中で、ビジネスロジックというのは、ビジネスロジック以外の部分を省いたものであるというような言われ方をすることがあります。(ビジネスロジックという言葉が差す物が曖昧であることへの皮肉という面があると思います) 以前にビジネスロジックについて考察した記事を書いています。 ビジネスロ… 続きを読む
設計 14 9月 2024 純粋なクラス 今、『なっとく!関数型プログラミング』という本を読んでいます。関数型プログラミングの考え方として重要視される概念として「純粋関数」というものがあります。『なっとく!関数型プログラミング』の中で、以下のように書かれています。 純粋関数の定義 関数の戻り値は常に1つだけ 関数は引数にのみ基ずいて戻り値を… 続きを読む
設計 22 8月 2024 巨人の肩から降りるとき ソフトウェア界隈では、よく「巨人の肩に乗る」という比喩表現が使われます。 「巨人の肩に乗る」というメタファーはフリーソフトウェア運動を推進しその正当性を示すためにも用いられる。 レッドハットのボブ・ヤングは2002年の著書『リチャード・ストールマンと自由ソフトウェア革命(英語版)』で、人々が巨人の肩… 続きを読む
設計 7 7月 2024 関数型言語でのTDDについての妄想 OOPの言語(自分がやっているのはPHP)でプログラムを書く場合、TDD(テスト駆動開発)を愚直に実践しています。 この話は、関数型言語を使うようになったら、開発プロセスがどのように変わるのだろうかという妄想です。 『関数型ドメインモデリング』 最近、『関数型ドメインモデリング』の関数型言語のF#で… 続きを読む
設計 14 5月 2024 モジュールとは何か? 様々な設計原則やデザインパターンの中でモジュールという言葉が登場します。モジュールという言葉の意味は「部品」のようなイメージはありそうです。しかし、それ以上明確な定義を求められると困ってしまうかもしれません。 モジュールというのは、どう捉えるべき概念なのでしょうか? Wikipediaで見るモジュー… 続きを読む