nrs さん プロフィール

  •  
nrsさん: nsrlib
ハンドル名nrs さん
ブログタイトルnsrlib
ブログURLhttps://nrslib.com
サイト紹介文ゲームプログラマ->Webプログラマ。オブジェクト指向やドメイン駆動設計についての解説を行います。
参加カテゴリー
更新頻度(1年)情報提供32回 / 159日(平均1.4回/週) - 参加 2018/04/30 22:24

nrs さんのブログ記事

  • 実装クリーンアーキテクチャを書きました
  • Qiita リンクQiita Link: 実装クリーンアーキテクチャあとがきつい先日 Qiita に記事を試しに書いてみようと思って、以前書いた実践クリーンアーキテクチャ(https://nrslib.com/clean-architecture)と似たようなイメージで実装クリーンアーキテクチャという記事を書きました。試しに書いたところ、Qiita が結構記事を書きやすくて、結果としてこのブログの存在意義が危ぶまれることになったのですが、実装方法とか技術共有に傾い [続きを読む]
  • 実装クリーンアーキテクチャを書きました
  • Qiita リンクQiita Link: 実装クリーンアーキテクチャあとがきつい先日 Qiita に記事を試しに書いてみようと思って、以前書いた実践クリーンアーキテクチャ(https://nrslib.com/clean-architecture)と似たようなイメージで実装クリーンアーキテクチャという記事を書きました。試しに書いたところ、Qiita が結構記事を書きやすくて、結果としてこのブログの存在意義が危ぶまれることになったのですが、実装方法とか技術共有に傾い [続きを読む]
  • 実践クリーンアーキテクチャ
  • はじめにクリーンアーキテクチャ(Clean Architecture)をご存知でしょうか。Uncle Bob こと Rovert C. Martin が提唱した設計思想です。発端となった記事はこちらです。https://8thlight.com/blog/uncle-bob/2012/08/13/the-clean-architecture.htmlまたこのクリーンアーキテクチャは書籍も出ており、日本語訳もあります。これらの文献を参照すればクリーンアーキテクチャの思想などはわかります。クリーンアーキテクチャはソフト [続きを読む]
  • ボトムアップドメイン駆動設計 後編
  • はじめにこの記事は続編です。前編記事: ボトムアップドメイン駆動設計 https://nrslib.com/bottomup-ddd/順序立っての説明になっておりますので、前編からご覧になることを強くお勧めします。ファクトリ独自の採番システムところで UserId は Guid (Globally Unique Identifier)です。Guid は事実上どこでどのタイミングで生成したとしてもユニークになります。その性質を利用して User は一意な id をコンストラクタで生成して [続きを読む]
  • ボトムアップドメイン駆動設計
  • まえがきこの章は飛ばしても構いません。この記事を書くにあたってドメイン駆動設計について学習しているときに常々感じていたことがあります。それは「壮大すぎる」ということです。ドメイン駆動設計は大方の説明ではまずユビキタス言語やコンテキストマップの説明から入ります。これらの概念はドメイン駆動設計の根底に関わるものですので非常に重要です。この概念の理解なくしてはドメイン駆動設計を習得したとは言い難いです。 [続きを読む]
  • Repository
  • 概要ドメイン駆動設計の Repository についての解説です。DDD 関連記事リンク◆ ValueObject記事リンク: https://nrslib.com/valueobject/◆ Entity記事リンク: https://nrslib.com/entity/◆ AggregateRoot記事リンク: https://nrslib.com/aggregateroot/◆ Repository(イマココ)記事リンク: https://nrslib.com/repository/解説Repository は集約の永続化を担います。永続化はデータの保存を指します。その保存先はファイルでもデ [続きを読む]
  • AggregateRoot ? 集約
  • 概要ドメイン駆動設計のモデリングの要素の一つ、AggregateRoot(AR, 集約)の解説です。DDD 関連記事リンク◆ ValueObject記事リンク: https://nrslib.com/valueobject/◆ Entity記事リンク: https://nrslib.com/entity/◆ AggregateRoot(イマココ)記事リンク: https://nrslib.com/aggregateroot/◆ Repository記事リンク: https://nrslib.com/repository/解説Aggregate RootAggregateRoot は日本語で集約といいます。集約は何を表 [続きを読む]
  • ClArc.CLI ? CleanArchitectureScaffolding
  • 概要Clean Architecture の構成に従ってクラスファイルを定義するツールです。CLI で UseCase を Scaffolding することができます。‘Cl‘ean’Arc‘itecture から取り、ツール名称は ClArc としました。クリーンアーキテクチャ関連記事◆クリーンアーキテクチャの概要記事リンク: https://nrslib.com/clean-architecture/◆クリーンアーキテクチャの右下の図について記事リンク: https://nrslib.com/clean-flow-of-control/◆ ClA [続きを読む]
  • [CSharp]C# を typescript の interface に変換するライブラリ
  • 概要ASP.net を利用しているときに C# で dto を作って、それと全く同じ定義の typescript の dto を定義することがあると思います。そんな面倒なソースを書くぐらいなら C# の定義から自動的に作ってくれたほうがいいよね、ということで C# の dll を指定して interface に変換するライブラリを作りました。NrsLib.CSharpToTypescriptInterfacegithub: https://github.com/nrslib/NrsLib.CSharpToTypescriptInterfacenuget: https [続きを読む]
  • [CSharp]C# を typescript の interface に変換するライブラリ
  • 概要ASP.net を利用しているときに C# で dto を作って、それと全く同じ定義の typescript の dto を定義することがあると思います。そんな面倒なソースを書くぐらいなら C# の定義から自動的に作ってくれたほうがいいよね、ということで C# の dll を指定して interface に変換するライブラリを作りました。CSharpToTypescriptInterfacegithub: https://github.com/srnlib/CSharpToTypescriptInterface解説dll を指定すると C# の [続きを読む]
  • [CSharp]C# を typescript の interface に変換するライブラリ
  • 概要ASP.net を利用しているときに C# で dto を作って、それと全く同じ定義の typescript の dto を定義することがあると思います。そんな面倒なソースを書くぐらいなら C# の定義から自動的に作ってくれたほうがいいよね、ということで C# の dll を指定して interface に変換するライブラリを作りました。CSharpToTypescriptInterfacegithub: https://github.com/srnlib/CSharpToTypescriptInterface解説dll を指定すると C# の [続きを読む]
  • クリーンアーキテクチャの右下の図
  • 概要クリーンアーキテクチャの右下の図(これでわかるかな)についてです。この記事は二つ目です。クリーンアーキテクチャ関連記事◆実践クリーンアーキテクチャ(最新)記事リンク: https://nrslib.com/clean-architecture/※※※↑の記事はこの記事に書いている内容も網羅しています※※※◆クリーンアーキテクチャの概要記事リンク: https://nrslib.com/clean-architecture-old/◆クリーンアーキテクチャの右下の図について(イマ [続きを読む]
  • クリーンアーキテクチャの右下の図
  • 概要クリーンアーキテクチャの右下の図(これでわかるかな)についてです。この記事は二つ目です。最初の記事は↓です。記事リンク: Clean Architecture解説前回のクリーンアーキテクチャの解説で使った図で意図的に無視した部分があります。クリーンアーキテクチャの図はこちらですね。そして今回の話の右下の図というのはこれのことです。この図については原文においても全く触れられていません。では、これは一体何を意味してい [続きを読む]
  • [DDD]Entity
  • 概要ドメイン駆動設計のモデリングの要素の一つ、Entity(エンティティ)の解説です。DDD 関連記事リンク◆ ValueObject記事リンク: https://nrslib.com/valueobject/◆ Entity(イマココ)記事リンク: https://nrslib.com/entity/◆ AggregateRoot記事リンク: https://nrslib.com/aggregateroot/◆ Repository記事リンク: https://nrslib.com/repository/解説EntityEntity は Value Object とは対極に位置するように同一性に焦点を当 [続きを読む]
  • [DDD]Entity
  • 概要ドメイン駆動設計のモデリングの要素の一つ、Entity(エンティティ)の解説です。解説EntityEntity は Value Object とは対極に位置するように同一性に焦点を当てたものです。例えば、同じユーザー名のユーザーがいたとして、そのユーザーは同一でしょうか。反対に、ユーザー名を変更したとして、ユーザー自体は変わってしまったのでしょうか。データを見たときに、全く同じ属性を持っていても、別のモノとして認識する必要が [続きを読む]
  • [DDD]ValueObject
  • 概要ドメイン駆動設計のモデリングにおける要素の一つ、Value Object(値オブジェクト)の解説です。DDD 関連記事リンク◆ ValueObject(イマココ)記事リンク: https://nrslib.com/valueobject/◆ Entity記事リンク: https://nrslib.com/entity/◆ AggregateRoot記事リンク: https://nrslib.com/aggregateroot/◆ Repository記事リンク: https://nrslib.com/repository/解説ValueObject は属性を表現します。例えばユーザーを表現しよ [続きを読む]
  • [DDD]ValueObject
  • 概要ドメイン駆動設計のモデリングにおける要素の一つ、Value Object(値オブジェクト)の解説です。解説ValueObject は属性を表現します。例えばユーザーを表現しようとしたときには以下の要素が属性にあたります。氏名電話番号誕生日これらの情報をプログラムで表現するときの型を文字列や日付型といった汎用的なものではなく、氏名型や電話番号型などの特殊化された型で表現するのが ValueObject です。何故、特殊化された型で [続きを読む]
  • [CSharp]NrsLib.ClassFileGenerator ソースコードを生成するライブラリ
  • 概要開発をしていると殆ど似たようなソースコードを記述したり、殆ど似たようなクラスを作ったりすると思います。そういった手間を削減するために、ソースコードをプログラムで設定して生成するためのライブラリを作りました。ClassFileGeneratorhttps://github.com/nrslib/NrsLib.ClassFileGeneratorCSharpクラスを作るクラスをプログラムで作る上記のようにDriver に対してメタクラスを渡して出来上がった文字列を受け取ります。 [続きを読む]
  • ASP.net Core + Vue.js + typescript な SPA Starter kit
  • 概要タイトルの通り、ASP.net Core を MVC フレームワークとして使い typescript で vue.js を利用した SPA (SinglePageApplication) を構築するプロジェクトの Starter kit を作ってみました。既にいくつか starter kit はあったのですが、package.json に特に利用していないものが入っていたりする場合があったので、最小構成(たぶん)で作っています。ソースhttps://github.com/nrslib/ASPNet-Vuejs-SPA-Typescript-starter解 [続きを読む]
  • ASP.net Core + Vue.js + typescript な SPA Starter kit
  • 概要タイトルの通り、ASP.net Core を MVC フレームワークとして使い typescript で vue.js を利用した SPA (SinglePageApplication) を構築するプロジェクトの Starter kit を作ってみました。既にいくつか starter kit はあったのですが、package.json に特に利用していないものが入っていたりする場合があったので、最小構成(たぶん)で作っています。ソースhttps://github.com/srnlib/ASPNet-Vuejs-SPA-Typescript-starter解 [続きを読む]