Fortsätt till huvudinnehåll

Inlägg

Visar inlägg från december, 2017

Clojure time!

Santa brought me a nice Christmas gift this year, Clojure for the Brave and True . A nice book for learning the basics of Clojure. Since I am not that experienced in functional programming, and especially not in Lisp, it feels like a good thing to take it from the start. For those of you unfamiliar with Clojure, check out https://clojure.org/ and read what Rick Hickey has to say about it. Here is one video to check out, The Value of Values (P.S. I really love how Rich looks like Weird Al)

Repositories or Command/Query Objects? What about CQRS? Unit of Work?

From time to time, when I learn something new or want to try out a new approach, I restart my "Record Collector" a project. It is a project I use for testing out ideas, and never gets close to a usable product. This time I wanted to try out creating components and setting up the relationship between them using inspiration from Clean Architecture. The Record Collector application keeps track of different records, and needs some sort of record repository. For my simple application is it enough to just have an in-memory list. But I got curious I wanted to see how larger applications, maybe targeting thousands of simultaneous users, tackles this. What I found was the Repository Pattern and CQRS. Here is some resources for any of you who wants to know how repositories or command/query objects can be implemented in large scale applications: The Repository Pattern (msdn) Youtube video by Mosh Hamedani explaining the Repository Pattern Blogpost discussing Repositorios vs

WPF application using MVVM created

Now I have created my first from scratch WPF application using MVVM. I like the concept of separating the view from the model, making it possible to change the view without having to touch the model. The dependencies also goes in the right direction, from the lowest level (the View) having knowledge of the next level (the ViewModel) that finally has knowledge of the highest level (the Model). No dependencies exist in the other direction. Code can be found on GitHub https://github.com/Backhage/WPF-MVVM-Sample

MVVM, MVC, MVP, eh?

I have never done much UI design. The concepts of Model View Controller (MVC), Model View Presenter (MVP), and Model View ViewModel (MVVM) have only been abbreviations that I know are related to how the UI are split into different entities, but I have never studied them further. Well, now that I have been working with C# for over 1.5 years, with an application that does have a graphical user interface, it's about time. So, goal of the day: learn about MVVM and create a WPF application that implements that pattern. Resource: https://msdn.microsoft.com/en-us/magazine/dd419663.aspx

Uncle Bobs Best Book To Date

I am deep into Clean Architecture, the latest book by Robert C. Martin (a.k.a Uncle Bob), and it is not at all what I expected, it is so much better! A book about Software Architecture must describe architectural patterns like the Layered Architecture, the Event Driven Architecture, the Microkernel Architecture, and so forth, right? WRONG! Uncle Bob attacks the subject from a completely different angle. The goal is a Clean Architecture, an architecture where components are separated in a way that just makes sense. Where code that belongs together is grouped together. Where a teams can work on different parts of the code without stepping on each other toes all the time. And where the software remains soft (i.e easy to change). I would say this is a book for the experienced programmer / software architect. To really understand the benefits of the architecture that is described you need to have seen some bad examples in real life. Once you have worked on new features that requires y