タグ

ブックマーク / bliki-ja.github.io (5)

  • プレゼンテーションドメインデータレイヤリング - Martin Fowler's Bliki (ja)

    情報がリッチなプログラムをモジュール化する一般的な方法は、大きく3つのレイヤーに分割することです。 その3つとは、プレゼンテーション(UI)、ドメインロジック(ビジネスロジック)、データアクセスです。 ウェブアプリケーションであれば、HTTPリクエストをハンドリングしてHTMLをレンダリングするウェブレイヤー、バリデーションや計算が含まれるビジネスロジックレイヤー、データをデータベースやリモートサービスに永続化する方法を管理するデータアクセスレイヤーに分けられます。 これは多くのアプリケーションに使えるモジュール化の形式です。 また、私が定期的に使用したり推奨したりするものです。 (私にとっての)最大の利点は、意識のスコープを狭められるところです。3つのトピックを比較的独立して考えることができるからです。 ドメインロジックのコードに取り組んでいるときは、UIをほぼ無視したり、データソースを

    kdmsnr
    kdmsnr 2022/11/18
  • コンウェイの法則 - Martin Fowler's Bliki (ja)

    私が敬愛するソフトウェアアーキテクチャの専門家たちは、この分野のあらゆる一般法則に対して懐疑的です。 優れたソフトウェアアーキテクチャはコンテキストに固有であり、さまざまな環境下で異なる解決をしなければならないトレードオフを分析するものだからです。 とはいえ、彼ら全員が同意するものがひとつだけあります。 それは、コンウェイの法則の重要性とパワーです。 私がこれまでに経験したすべてのシステムに影響を与えるほど重要であり、抗えないほどのパワーがあります。 この法則を説明するには、作者の言葉がいちばんでしょう1。 システム(広義に定義)を設計するあらゆる組織は、組織のコミュニケーション構造をコピーした構造を持つ設計を生み出す。 ―メルヴィン・コンウェイ コンウェイの法則とは、ソフトウェアシステムのアーキテクチャは開発チームの組織とよく似る、というものです。 元々は、1つのチームでコンパイラーを作

    kdmsnr
    kdmsnr 2022/11/17
    訳したよ。
  • ケント・ベックの設計のルール - Martin Fowler's Bliki (ja)

    Kent Beckが1990年代にエクストリームプログラミング(XP)を開発したときに、シンプルな設計の4つのルールを考案した。私なりに表現したものが以下になる[1]。 テストをパスさせる 意図を明らかにする 重複を排除する 要素を最小限にする ルールには優先順位がある。たとえば「テストをパスさせる」は「意図を明らかにする」よりも優先される。 このルールで最も重要なのは「テストをパスさせる」だ。XPが革新的だったのは、テストをソフトウェア開発におけるファーストクラスの活動に持ち上げたことである。このルールのなかでテストが最も重要な役割を担うのは当然だろう。ソフトウェアで何をするにしても、第一の目的は意図どおりにソフトウェアが動作することであり、テストはそれを確実にするためのものである。 「意図を明らかにする」は、Kentの言葉を借りれば、コードは理解しやすくなければならないというものだ。コ

    kdmsnr
    kdmsnr 2022/04/02
  • ソースコードブランチ管理のパターン - Martin Fowler's Bliki (ja)

    https://martinfowler.com/articles/branching-patterns.html 最新のソース管理システムには、ソースコードのブランチを簡単に作成できる強力なツールが用意されています。しかし、最終的にはこれらのブランチをマージしなければならず、多くのチームは混み合ったブランチに対処するのに膨大な時間を費やしています。複数の開発者の作業をインテグレーションし、番リリースまでの道筋を整理することに集中して、チームが効果的にブランチを利用できるようにするためのパターンがいくつかあります。全体的なテーマとしては、ブランチを頻繁にインテグレーションし、最小限の労力で番環境に展開できる健全なメインラインを作ることに注力すべきだということです。 ベースパターン ソースブランチング ✣ メインライン ✣ 健全なブランチ ✣ インテグレーションパターン メインラインイン

    kdmsnr
    kdmsnr 2020/06/18
    大作! by @yuichielectric
  • Martin Fowler's Bliki (ja)

    ここは、Martin Fowler's Blikiの日語翻訳サイトです。Martin Fowler氏人の許可を得て公開しています。データはGitHubで管理していますので、どなたでも翻訳に参加することが可能です。 ※現在、移行中につき、Markdown形式になっていないものが多々あります……。PRいただけると大変ありがたいです。 API design / agile / agile adoption / agile history / application architecture / application integration / bad things / build scripting / certification / clean code / collaboration / computer history / conferences / continuous deliv

    kdmsnr
    kdmsnr 2015/08/29
    ぼちぼち移行中
  • 1