タグ

設計とパターンに関するnakaearthのブックマーク (9)

  • いまどきの分析設計パターン10選

    JJUG CCC 2024 Spring 複雑な業務ロジックに立ち向かうための実践技法 【初級編】 ①値の種類 ②範囲型 ③階段型 【中級編】 ④状態遷移 ⑤入出金履歴と残高 ⑥未来在庫 【上級編】 ⑦セット演算 ⑧割合と端数 ⑨決定表 ⑩経路探索

    いまどきの分析設計パターン10選
  • ソフトウェア設計・アーキテクチャの学び方 - Qiita

    はじめに この記事はHow to Learn Software Design and Architecture | The Full-stack Software Design & Architecture Mapを翻訳したものです。 翻訳がおかしい箇所などあればご指摘頂けるとありがたいです。 元記事の著者: Khalil Stemmler(@stemmlerjs) 設計、アーキテクチャ、フロントエンド、ブロックチェーンに興味ある方是非Twitter(@show_clements)フォローしていただけると嬉しいです! 設計に関する記事 ソフトウェアデザインとアーキテクチャは、DevOpsやUXデザインのように、コンピューティングの領域の中でも独自の研究分野となっています。ここでは、クリーンコードからマイクロカーネルまで、ソフトウェアデザインとアーキテクチャの幅広さを説明するマップを紹介しま

    ソフトウェア設計・アーキテクチャの学び方 - Qiita
  • 7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選 | Kaigi on Rails 2022 - inSmartBank

    こんにちは、株式会社スマートバンクでサーバーサイドエンジニアをしている mitani です。 この記事は2022/10/21~22に開催されたKaigi on Railsでお話した内容を記事にしたものです。当日の発表はYouTubeからご覧いただくことができますが、まだご覧になっていない方で動画よりも文字で見たいという方向けに、特にお伝えしたかったポイントに絞りながらご紹介したいと思います。 www.youtube.com 外部サービスと状態管理 サービスを作る際、状態管理は至るところで実装する必要のある機能です。例えばログイン状態、会員の登録状態等のどのようなサービスでも共通的に実装するものから、商品の購入状態、決裁フローの現在状態などサービスによって異なるものまで様々な状態管理があります。状態管理の設計方法はその機能の要件によって大きく変わってくるものではありますが、正確に状態を記録し

    7つの入金外部サービスと連携して分かった実践的な”状態管理”設計パターン3選 | Kaigi on Rails 2022 - inSmartBank
  • ドメイン層に最適なアーキテクチャを考える

    それぞれのパターンの難易度 それでは、拡張性・保守性を高くするパターンはどれでしょうか? オブジェクト指向という観点から見ると、Domain Modelが最適に思えますが、そうなのでしょうか? それぞれ のパターンの難易度を考えてみましょう。 難易度とは、2つの考え方があります。1つは「システムが複雑で難易度が高い」のと、もう1つは「開発技法の考え方が難しい」ことです。 「システムが複雑で難易度が高い」とは、業務的、システム的に要求が高く、実現しようとしているシステムが複雑であるために、難易度が高い場合です。 また、「開発技法の考え方が難しい」とは、オブジェクト指向技術などを利用した場合など、モデリングやイテレーション開発などの難解な技術を利用しなければならないので難易度が高くなります。 (1)ビジネスロジックが複雑で難易度が高い ドメイン層では、「システムが複雑」を「ビジネスロジックが複

    ドメイン層に最適なアーキテクチャを考える
  • 最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)

    ※2020年6月に公開された記事です。 日PostgreSQLユーザ会の理事を務める合同会社Have Fun Tech起業した曽根壮大(@soudai1025)と申します。元株式会社オミカレ副社長兼CTOです。直近では、『失敗から学ぶ RDBの正しい歩き方』を執筆しました。 今回はデータベースをテーマとして、魅力やMySQLとPostgreSQLの違い、アンチパターンの見極めなどの基礎知識に加え、勉強法などもご紹介します。 RDB関連の求人検索はこちら データベースを学ぶ魅力をエンジニア目線で考察 1.知識の費用対効果が高い エンジニアがデータベースを学ぶ利点という観点から言うと、データベースの特徴は寿命が長いことと私は考えています。 Webアプリケーションの界隈では1年単位でバージョンアップしたり流行っている言語が変わってしまうことがザラにありますが、データベースは10年、20年とい

    最強データベース(RDB)設計とは?アンチパターンの見極め方法も - FLEXY(フレキシー)
  • FlutterのBLoCパターンをAngularで理解する | Marginalia

    この記事では AngularDart/Flutter の文脈で新しいコンポーネント設計パターンとして広まりつつあるBLoCパターンを、Angular の語彙で理解し、実装する方法を紹介する。 BLoC パターンとはBLoC とは、Business Logic Component の略である。 BLoC を使ったアプリケーションの実装パターンを BLoC パターンと呼ぶ。 まず誤解を招きそうなポイントとして、この“Component”は ReactAngular などでいうところのビューを構築する“コンポーネント”ではない。 一般的な単語としての、アプリケーションを構成するひとかたまりの要素という意味の“Component”なので誤解しないこと。 対比するレベルとしては、“UI Component” vs “Business Logic Component”のようになる。 BLoC は

    FlutterのBLoCパターンをAngularで理解する | Marginalia
  • ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える

    ドメイン駆動設計との出会い 10年前に、エヴァンスのドメイン駆動設計を初めて読んだ時は、書いてある内容がほとんど理解できなかった。 あまり、面白いとも思わなかった。 当時は、現場でバグだらけのコードと格闘していた。障害が報告されるたびに、リファクタリングを参考に、該当個所の長いメソッドや大きなクラスを片端からリファクタリング。その結果、コードがわかりやすくなり、やっかいなバグが単純な修正で解消できてしまうことの効果に驚き、設計の重要性を再認識していた。 それ以前は、UNIXとC言語、OracleとPL/SQLという、オブジェクト指向ではない世界で技術を身に着けてきた。 どちらかというとオブジェクト指向には、ネガティブな印象を持っていた。現場では役に立たんだろうと。 バグとの格闘の中で、リファクタリング(設計改善)の威力を肌で感じ、その考え方とやり方がオブジェクト指向に由来するということを

    ドメイン駆動設計を理解する3つのキーワード - ソフトウェア設計を考える
  • 実況中継シリーズ 「開発現場で役立たせるための設計原則とパターン」 #builderscon 2018 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    先日慶應義塾大学日吉キャンパスで行われた builderscon2018、最高のカンファレンスでしたね。わたしも「開発現場で役立たせるための設計原則とパターン」というタイトルで発表させていただきました。今回は恒例「実況中継シリーズ」として、プレゼンの再現をブログで行いたいと思います。 なお、過去の実況中継シリーズは前職の技術ブログにまとまっていますので、そちらからご覧ください。 それでは編を開始したいと思います。 開発現場で役立たせるための設計原則とパターン アバンパート よろしくお願いします。 まず最初に簡単に自己紹介をさせていただきます。 先月転職をしまして、8/1からClassiという会社で働いています。と息子がおります。Scalaが好きですが、仕事ではRubyメインという感じです。 Web+DB PressやSoftware Designで何度か特集を書かせていただきました。と

    実況中継シリーズ 「開発現場で役立たせるための設計原則とパターン」 #builderscon 2018 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • テスト駆動開発における進化的設計とデザインパターンの勘所とは?〜テスト駆動開発をやめて、なお残すべき習慣とは(9)

    前回から、書籍を辿り、TDDの再考を試みています。TDDを既に知っている、実践しているという人にとっては、TDDについて新しい発見、ジャメヴ(未視感)が起きれば幸いです。たとえTDDが不要だったとしても、不要だと判断したものが一体何だったのか知ることは欠かせません。 忘れないで、テスト駆動開発にもデザインパターンの話が出てくるよTDDはテストファーストやベイビーステップのインパクトがありすぎて、あまり目立っていないですが、書籍『テスト駆動開発』にもソフトウェアパターンの話が出てきます。そう、出てくるんですよ。 余談ですが、テスト駆動開発3部におけるSingletonパターンの説明はGoFの説明とは違ったユニークな内容になっています。(で確認してみてね) 1回だけ設計ではなく繰り返し設計注意点ですが、テスト駆動開発においてのソフトウェアパターンは、プロジェクト初期に1回だけパターンを使って

    テスト駆動開発における進化的設計とデザインパターンの勘所とは?〜テスト駆動開発をやめて、なお残すべき習慣とは(9)
  • 1