Things I Think Are Cool is a blog series where I talk about things I have found interesting and helpful. They can be time savers, productivity tools, podcasts, books, products, or even people.

They say that nothing is new under the sun... and that applies to architecture guidelines and design patterns.

But even though just about all patterns and practices may have been around for a while, that doesn't mean one can't benefit from a refresher course.

After all, it's always nice to verify you're doing things right ... and even better to know if you're doing something wrong.

And that refresher course is what this week's installment of Things I Think Are Cool is about.

A new book by David Britch: Enterprise Applications Patterns using Xamarin.Forms

Why It's Cool

This book focuses on core patterns and architectural guidance for building enterprise Xamarin.Forms apps. (But don't let the enterprise in the description fool you - there's lots of good content in there even if you're building a consumer focused app as well.)

It's a relatively short book, clocking in at only 90 pages - but those 90 pages pack in a lot of info.

It covers topics such as proper project file structure, MVVM, communication with Messaging Center, navigation, and unit testing amongst others.

The thing I liked about it was that it seemed to cover things I always manage to have an internal discussion about when developing a Forms app.

...what's the best way to navigate between pages...
...should I use dependency injection or the built-in dependency service...
...messaging center always feels like cheating for some reason...

(For the record though - for navigation, I still like my view model first navigation method & it's not too different from the discussed pattern.)

It's nice to have resource to either reinforce views or point out other possibilties.

Plus it comes with a fully working sample app ... and a companion book for the server-side portion of things Architecting and Developing Containerized and Microservice based .NET Applications.

How Do I Get It?

The book can be downloaded here and the sample app can be found here.

There's also a blog post introducing the book.

That's Cool!