タグ ビジネスロジック
人気順 10 users 50 users 100 users 500 users 1000 usersDDDで集約を跨いだ情報でロジックを構築するための「getter高階関数パターン」の紹介
はじめに 今回はDDDで集約を跨いだ情報でロジックを構築するためのパターンについて紹介していきます。 DDD(ドメイン駆動設計)における「集約(Aggregate)」とは、関連するオブジェクト(エンティティや値オブジェクト)を一つにまとめた単位のことを指します。集約はドメインのビジネスロジックの適用や整合性を維持... 続きを読む
マイクロサービス化するならリビルドで!ビジネスロジックをGoで書き直してわかったこと - MonotaRO Tech Blog
この記事では モノタロウがGoとprotobufで進める爆速マイクロサービス開発とそれを支えるプロセス - MonotaRO Tech Blog のうち、主にアーキテクチャにおける詳細について紹介します。 自己紹介 マイクロサービス化について 課題を認識する スコープと技術選定 ゴールイメージを共有する 既存コードから分かった問題点 ... 続きを読む
ビジネスロジックを「型」で表現するOOPのための関数型DDD / Functional And Type-Safe DDD for OOP
Object-Oriented Conference 2024で発表した資料です。 https://fortee.jp/oocon-2024/proposal/b31c9818-3cb8-4350-adfe-cbc839cdf829 ビジネスの専門知識(ドメイン)を中心に据えたドメイン駆動設計に代数的データ型などの関数型のパラダイムを加えたよりタイプセーフな関数型DDDを紹介します。 本セッションではドメ... 続きを読む
TypeScriptにおけるDDDのドメインオブジェクトの課題と対策
こんにちは、近藤です。 commmune Advent Calendar 2023 18日目の記事は『TypeScriptにおけるDDDのドメインオブジェクトの課題と対策』です はじめに ドメイン駆動設計(DDD)は、複雑なビジネスロジックを扱うアプリケーション開発において、重要かつ効果的なアプローチとして広く認識されています。 コミューンでは、... 続きを読む
削除のビジネスロジックをドメイン層に閉じ込める簡単で強力な「DeletableIDパターンの紹介」
この記事は 株式会社ログラス Productチーム Advent Calendar 2023 13日目の記事です。 はじめに 〇〇を削除できるかどうかの削除のビジネス処理、皆さんはどう実装していますか? 同僚の話台になった記事でも削除の認可処理をどこに記述すべきか?は難しいと説明されています。今回はお題は認可っぽいもので書きますが... 続きを読む
ビジネスロジック層内部の2つの実装パターンを比較 選択時に考えたい、アプリケーション設計の観点
今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの基本的な用語の意味や関係性を整理する「改めて整理するアプリケーション設計の基本」。ここで大嶋氏が登壇。次に、ビジネスロジックの実装方法について紹介します。前回はこちらから。 ビジネスロジックの実装の2つ... 続きを読む
「ビジネスロジックの処理は2つに分類すると整理しやすい」 4つの例から考える、プレゼンテーション層・データアクセス層の見分け方
今回はアプリケーションアーキテクチャを学ぶ最初の一歩として、「MVC」や「3 層アーキテクチャ」などの基本的な用語の意味や関係性を整理する「改めて整理するアプリケーション設計の基本」。ここで大嶋氏が登壇。さらに、ビジネスロジック層の役割について深掘りします。前回はこちらから。 リクエストの形式チェック... 続きを読む
独立したコアレイヤパターンをJavaScript(TypeScript)で実装してみる
@shin1x1さんの独立したコアレイヤパターンをJS(TS)でも利用できるといいかなと思い、サンプルコードを作成してみた。 独立したコアレイヤパターンとは? アーキテクチャパターンのひとつ コアレイヤとアプリケーションレイヤの2つのレイヤからなる コアレイヤ コアレイヤロジックやビジネスロジックを実装する 外部のIF... 続きを読む
再考 - ドメインサービス - まっちゅーのチラ裏
自分が大規模システムで組むアーキテクチャは基本的にはCleanArchitectureを踏襲しているが、その中の構成要素であるドメインサービスだけは少し独自(?)の解釈をしていて、書籍などでよく見る ビジネスロジックを持つが、状態をもたない 複数の集約にまたがる処理を書く場所 という責務の他に、外部システムへの委譲処理... 続きを読む
「ビジネスロジック」とは何か、どう実装するのか - Qiita
アプリケーション開発で、「ビジネスロジックは分離しろ」だとか「Controller にビジネスロジックを書くな」といったことをよく言われると思います。 しかし、ビジネスロジックという言葉の意味を聞いたり調べたりしてみても、「システムのコアの部分」とか「システムの目的になる処理をするところ」みたいなことを言わ... 続きを読む
2019年のwebAPIの設計を取り巻く問題と技術シリーズ そのに 「ビジネスロジック」は誰が持つべき? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
前回の記事の続きです。 前回は、「時代が変わるとサーバーアプリケーションの役割も変わるよね。そうすると必要な要素技術も変わっていくよね」という話でした。今回は、じゃあ「サーバーアプリケーションがJSON喋るマンになって、クライアントアプリケーションとの協働でユーザー体験が実現されるようになってきた今、... 続きを読む
SPA(Nuxt.js)をSpring Bootからホストする方法 - Qiita
はじめに 今どきなWEBアプリを作ろうとすると、画面はSPA、データ入出力(CRUDな操作)や複雑なビジネスロジックはWEB APIという構成が選ばれがちだと思います。 現在開発中の弊社のサービスでもフロントエンドのSPAにNuxt.js、バックエンドにSpring Bootといった構成をとることになりそうな気配を察知したため、個人的... 続きを読む
[iOS 11] 初回起動判定などに使える Device Check フレームワークとは #WWDC17 | Developers.IO
iOS 11 から Device Check が追加 iOS 11 から Device Check というフレームワークが追加されることが発表されました。その名の通りデバイスをチェックするフレームワークで、デバイス〜開発者間のデータをサーバーサイドのビジネスロジックで利用できるといった機能を提供します。具体的にどういった機能なのか調べてみました。 本記事は Apple からベータ版として公開されて... 続きを読む
SWF ✕ Lambda - プログラマになりたい
2015-12-07 SWF ✕ Lambda 最近のサーバーレス・アーキテクチャの重要な要素の1つが、Lambdaです。Lambdaは、イベント駆動でプログラムを実行するコンピュート基盤です。ユーザは、自分でサーバを管理しなくてもプログラムを実行できるため、ビジネスロジックに集中できるというメリットがあります。また、API Gatewayの登場によりHTTP Requestからの実行が容易になり... 続きを読む
【mkdirからデプロイまで3分】Sinatra+Haml+Sass+Coffee でサクッとHerokuに公開して捨てるwebアプリ - Qiita
あいさつ Rubyでゴニョゴニョして、Haml+Sass+Coffeeでサクッとviews作って Herokuにサクッとpushして公開して吐いて捨てるようなアプリの作り方です. チャチャッと動いたモノを見せたい時とかに便利 3分というのはビジネスロジックの構築を除くプロジェクトのひな形作ってデプロイに至るまでの時間. 適当なひな形をcloneした方が早いかもしれませんが、一回は自分で手動かさない... 続きを読む
要約:iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い - Qiita
はじめに 社内勉強会の資料をSlideShareのUPしました。 iOS/Androidアプリエンジニアが理解すべき「Model」の振る舞い これについての要点をまとめます。 この資料はiOS/Androidのような クライアントアプリケーションにおける「Model」とは何か、という話です。 Modelとは何か? Modelに「データやビジネスロジックを扱うコンポーネント」という役割を担わ... 続きを読む
HerokuのAPIデザイン | SOTA
Herokuが自ら実践しているAPIデザインガイドをGithubに公開した. “HTTP API Design Guide” このガイドは些細なデザイン上の議論を避けて,ビジネスロジックに集中すること目的としている.Heroku特有なものではなく,一般にも十分適用できる知見となっている. 最近は,モバイル向けにAPIをつくることも多いため,勉強もかねて抄訳した.なお内容は,HTTP+JSONのAP... 続きを読む
AngularJSのサービス#AngularJS入門その5 | Developers.IO
AngularJSのサービス AngularJSにおけるサービスとは、アプリにおいて任意のタスクを実行する関数として使用されます。 例えば、AngularJSではajax通信用に$http組み込みサービスを持っています。 もちろん、サービスを自分で定義して使用することも可能です。 AngularJSでビジネスロジックはサービスとして実装されることが推奨されているため、 独自サービスを作成する機会は... 続きを読む
今最も注目されている設計手法!MVVM を Android アプリ開発に取り入れてみた (フェンリル | デベロッパーズブログ)
こんにちは。共同開発部開発担当の北川です。 クロスプラットフォームなアプリ開発では Xamarin の使用はビジネスロジックの共通化が可能となり非常に効果的です。 すべてのアプリを単一の言語(C#)で実装することができる点だけでも魅力的ですが、MVVM 設計によりその再利用性を高めている点こそがその真価を発揮しているとも言えます。 私は Xamarin でのアプリ開発を通して MVVM 設計のすば... 続きを読む
BackboneとAngularを比較する
For visual people: Backboneについて言うなら... BackboneとAngularを比較するのは公平ではありません。なので、この記事ではBackboneはBackbone + Marionette + アドインを示すことにします。 ビジネスロジック アプリケーションの巨大なビジネスロジックの固まりはBackboneのモデルとコレクションになります。これらのオブジェクトは... 続きを読む
プログラマ念能力の系統 - /var/log/udzura
2013-03-04 プログラマ念能力の系統 個人的に勝手に考えてる奴 放出系(フロントエンド) UIとかユーザ体験とかに強い。JavaScript好き。HTML/CSS、あとゲームのクライアント作る人もここに入る 強化系(アプリケーション) ビジネスロジックをコードに落とすのが好きな人。フロント〜アーキテクトまでをつなぎ込んで形にするのが好きな人。なんかRubyとかPerlとかLL系が好き。ここ... 続きを読む
CakePHPアプリケーションの基本的な設計指針 (3) - カスタムfindタイプ - - 24時間CakePHP
設計, Model, Tipsイントロダクション標準のfindの種類(first, all, count, threaded, neighbor, list)だけでは、ビジネスロジックに対応できないことがあります。これに対するひとつのプラクティスとしては、カスタムfindタイプを定義することです。この記事では、実際の開発を想定したリファクタリングの過程を通してカスタムfindタイプの定義の仕方と活... 続きを読む
Life is beautiful: 「RESTful MVC」なアーキテクチャの話
最近、増井君と私でアーキテクチャの話をすることが多いのだが、そんなディスカッションの中で気に入っているのは左の図のようなアーキテクチャ。 もちろん、核となるのはビジネスロジックを含んだModelの部分。そこをしっかりと実装し、内部構造を隠す粒度の荒いインターフェイスを定義し、外から何をされてもデータの整合性が壊れない様にすることは何よりも大切。 そして、そのModel層へのインターフェイスを特定の... 続きを読む
Web アプリの MVC 設計まとめ - もやし日記
MVC 設計について考えていたときに、ちょうどその辺りの話をされている方々が居たので、今の考えをまとめてみました。 目次 前提 肥大化するコントローラを避ける ビジネスロジックをどこに書けば良いのか コントローラとモデルの間にもう一つの層があるとうまくいく? まとめ 前提対象は Web アプリケーションで、画面数(ビューの数)は数個〜100個程度の規模です。WordPress、Twitter、37... 続きを読む