What's In A Model?
- Appreciate and understand better when to respect the DRY principle and when to break it.
- Learn the difference between a data model, a view model, a message model, a domain model and when to use which.
- How to use C# more extensively, when and why you should throw exceptions, when to use object initializers, when to use constructors and much more.
- How to better structure your code and experience what Clean Code actually means.
If you know the Model-View-Controller pattern, have you ever questioned why Microsoft's defaults encourage you to group everything by their type? Models here, Views there and Controllers over there. If grouping by type is such a good idea, why aren't we grouping all Strings, Integers and Booleans together as well? Perhaps there's a better way? This talk will give you ideas for how to structure your applications differently and doing it in a way that will make you more proficient in your programming language all the while being able to more clearly represent and model the real world in code. This may sound basic, but at its core, this is all very hard, since modelling is hard. And modelling is hard because it is essentially about distilling the real world into code and the real world has absolutely no interest in being modeled. The real world is complex and chaotic, so we need all the tools we can muster to bring it into order. This talk will give you a few of these tools.