It's one of the paradoxes of blogging that most every blogger (including myself) is sharing what they know right now (let's quietly ignore those who blog purely for traffic and vanity). Since everyone is learning, this can result in poor or misleading information being shared just as much as good information. Keep this in mind as you read any blog - including this one. How experienced is the writer? How well do they really know what they're talking about? Do they blog about their mistakes as well as their successes?
I'm just as flawed as other bloggers, so you should feel encouraged to check my ideas for yourself. Keep the date in mind as well - in our fast moving field, even good ideas can become obsolete.
We saw last time that setting up dependency injection for our viewmodels involved a small number of moving parts. The same applies when applying dependency injection to our views, but with a few additional complexities.
Based on the foundation from last time, we can now turn our attention to our view-models. How can we use our dependency injection framework to construct each view model on demand?
Sunday, August 04 2019 sharpen-the-saw
In todays post: Checking for nulls in C#; performance improvements in .NET 3.0; proving stereotypes aren’t true when working remote; blocking the worst passwords; and understanding ValueTask.
To this point, we’ve been able to run each of our screens by hand-coding the necessary object initialization. We could continue this as we move forward, but the complexity would grow with each additional screen we complete. Instead, let’s take the time to configure a dependency injection framework that will take care of the complexity for us.
In addition to the unit tests we’re already writing for each of our core classes, we should also write some integration tests to ensure our types interact properly.
|Equality in .NET||7|
|Immutable Priority Queues||15|
|Killing the Utility Class||5|
|Instance validation in C#||12|
|Restructuring Reducers||13 Jul 2019|
|Sharpen The Saw - July 2019||06 Jul 2019|
|Vocabulary Browser||29 Jun 2019|
|Old blog posts, restored||22 Jun 2019|
|Revisiting ViewModelBase||15 Jun 2019|
|First Light||08 Jun 2019|
|Sharpen The Saw - June 2019||01 Jun 2019|
|Add Word View||25 May 2019|
|Fixing Azure DevOps Pipeline Build error NU1604||18 May 2019|
|Add Word View Model||11 May 2019|
|Add Word Screen||04 May 2019|
|Bootstrap Image ratios Fix||27 Apr 2019|
|WPF Projects & ViewModelBase||20 Apr 2019|
|Static Analysis||13 Apr 2019|
|Redux Store||06 Apr 2019|
|Commandline Builds||30 Mar 2019|
|Application Model||23 Mar 2019|
|Vocabulary Set||16 Mar 2019|
|Vocabulary Word||09 Mar 2019|
|WordTutor Revisted||02 Mar 2019|
|Converting a List to a Queue||23 Feb 2019|
|Explicit Interfaces and Delegate Properties||16 Feb 2019|
|Capturing Transient Errors||09 Feb 2019|
|Console logging and the passage of time||02 Feb 2019|
|PowerShell provides a helping hand||26 Jan 2019|
|Extension Methods||19 Jan 2019|
|Generating Hash Codes||12 Jan 2019|
|The Problem with Equality||05 Jan 2019|
|Queue Equality||29 Dec 2018|
|Smarter Queue Enumeration||22 Dec 2018|