nuits.jp blog

C#, Xamarin, WPFを中心に書いています。Microsoft MVP for Development Technologies。

ASP.NET CoreでSimpleInjectorを利用する

ASP.NET Coreには標準でDIの仕組みは用意されているのですが、他のプラットフォームとのアーキテクチャの統合を考えた場合、ASP.NET Core上でしか動かないDI Containerを利用するより、サードパーティのContainerを利用したいというのは十分考えられるシナリオです。

そこで今回は個人的に好きな(理由はこちら)SimpleInjectorをASP.NET Coreで利用する方法を詳解します。

ここでは最も簡単な方法のみを紹介します。より踏み込んだ利用方法はこちらをご覧ください。

ASP.NET Core MVC Integration Guide

続きを読む

XAMLアーキテクチャ ViewModel Class(≠Role)不要論

これはXamarin Advent Calendar 2018の22日目の記事…のつもりでしたが一日勘違いして一時間半程間に合いませんでした。埋めていただいた方、ありがとうございました。すいません。

さて内容はちょっとはみ出してWPFやUWPといったXAMLを利用するUIフレームワーク全般で共通な話です。

私は前々からXAMLアーキテクチャの場合、必ずしも(Topレベルの)ViewModelのクラスをViewのクラスから分離する必要はなく、XAMLのコードビハインドをViewModelとして実装しても良いのではないか?ViewModelは役割としては必要でも、クラスとしては必ずしも必要ではないのではないか?と考えていました。

もちろん常にViewModelクラスが不要だという訳ではありません。特定の制約を満たす必要がありますし、その制約を徹底できるだけの組織的な統制力が必要になります。*1

本稿ではその辺りの論拠などを整理してみたいと思います。

*1:ちなみに私自身は統制を徹底できる気がしないので、結局ViewModelのクラスは分離しています

続きを読む

Copy to Markdown Add-In 2.1.1.0をリリースしました(バグフィックス含む)

Copy to Markdown Add-In 2.1.1.0をリリースしました。

https://github.com/nuitsjp/CopyToMarkdownAddIn/releases/tag/Release-2_1_1_0

f:id:nuitsjp:20181017232619g:plain

一旦、「設定」の「アプリ」から古いバージョンをアンインストールして、最新版をインストールしてください。

再インストールするときは、ダウンロードしたzipファイルを開いて、ブロックを解除するのを忘れないようにしてください。

f:id:nuitsjp:20181017234121p:plain

変更内容は以下のとおりです。

  • MarkdownからExcelへのコピーが「Copy from Markdown」なのは紛らわしいとの指摘をいただき「Paste from Markdown」に変更
  • セルが改行されていた時に、MarkdownとExcelの双方向コピーを繰り返すと「\r」が増え続ける
続きを読む

継続的にテスト可能な設計を考える

本エントリーは大本は.NET Conf 2018 Tokyo, Japanの発表内容を記事としてまとめたものになります。参考によかったらご覧ください。

なお本セッションのソースコードはこちらのGithubに

https://github.com/nuitsjp/Continuous-Testable-Design

スライドはこちらに別途公開しています。

www.slideshare.net

続きを読む