Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
Xamarin 4.x Cross-Platform Application Development

You're reading from   Xamarin 4.x Cross-Platform Application Development Develop powerful cross-platform applications with Xamarin

Arrow left icon
Product type Paperback
Published in Dec 2016
Publisher
ISBN-13 9781786465412
Length 292 pages
Edition 3rd Edition
Languages
Tools
Arrow right icon
Author (1):
Arrow left icon
Jonathan Peppers Jonathan Peppers
Author Profile Icon Jonathan Peppers
Jonathan Peppers
Arrow right icon
View More author details
Toc

Table of Contents (13) Chapters Close

Preface 1. Xamarin Setup FREE CHAPTER 2. Hello, Platforms! 3. Code Sharing Between iOS and Android 4. XamSnap - A Cross-Platform App 5. XamSnap for iOS 6. XamSnap for Android 7. Deploying and Testing on Devices 8. Contacts, Camera, and Location 9. Web Services with Push Notifications 10. Third-Party Libraries 11. Xamarin.Forms 12. App Store Submission

Writing the ViewModel layer


Now that we have our model layer implemented, we can move on to write the ViewModel layer. The ViewModel will be responsible for presenting each operation to the UI and offering properties to be filled out by the View layer. Other common responsibilities of this layer are input validation and simple logic to display busy indicators.

At this point, it would be a good idea to include the ServiceContainer class from the previous chapter in our XamSnap PCL project, as we will be using it through our ViewModels to interact with the Model layer. We will be using it as a simple option to support dependency injection and Inversion of Control; however, you may use another library of your preference for this.

Normally, we start off by writing a base class for all the ViewModel layers within our project. It's a good place to put some parts of the code that are used by all the subclasses, for example: notification changes, methods, or commonly used interfaces.

Place the following...

lock icon The rest of the chapter is locked
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $19.99/month. Cancel anytime
Banner background image