We may earn an affiliate commission when you visit our partners.
Michael Perry

This course demonstrates how to create clean, declarative view models that don't explicitly raise property changed events or use a message bus.

A view model should read like a user interface specification. Most view models, however, are too busy raising property changed events or sending and subscribing to a message bus. This course will give you the tools and patterns you need to write clean, declarative code for WPF, Windows Phone, and Windows Store clients. A clean view model does one thing, and one thing only; the open source Assisticant library will handle the rest.

Enroll now

What's inside

Syllabus

Cleanliness
Assisticant Basics
Collections
Piercing the Wrapper
Read more
Clean Mobile Apps
Dependency Tracking

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops advanced skills for WPF, Phone, and Store clients
Leverages the open source Assisticant library
Taught by Michael Perry, who is recognized for their work in designing clean UIs
Beginner friendly, with a strong focus on building clean ViewModel code

Save this course

Save Clean View Models With Assisticant to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Clean View Models With Assisticant with these activities:
Brush Up on Property Changed Events
Review property changed events to solidify your understanding of how data changes are communicated in WPF.
Show steps
  • Refer to course materials or online resources on property changed events.
  • Create a simple WPF application to practice raising and handling property changed events.
  • Test and debug your code to ensure proper event handling.
Follow-Along Tutorial: Master WPF View Models
Practice creating clean view models in WPF by following a step-by-step tutorial.
Browse courses on WPF
Show steps
  • Find a beginner-friendly tutorial on WPF view models.
  • Set up a development environment with WPF.
  • Follow the tutorial to create a basic view model.
  • Experiment with different binding techniques and commands.
Design a Sample Mobile App View Model
Apply your knowledge of view models by designing and creating a sample view model for a mobile app.
Browse courses on Mobile App Development
Show steps
  • Choose a simple mobile app idea.
  • Sketch out the UI design.
  • Design the view model, defining data structures and commands.
  • Share your design with others for feedback.
Three other activities
Expand to see all activities and additional details
Show all six activities
Peer Group Code Review: View Model Design
Enhance your view model design skills by receiving constructive feedback from your peers.
Browse courses on Code Review
Show steps
  • Find a study partner or join a study group.
  • Share your view model code with your peers.
  • Provide feedback on each other's code, focusing on clarity, maintainability, and performance.
  • Apply the feedback to improve your own view model design.
Code Challenges: Building View Models with Assisticant
Strengthen your understanding of Assisticant and view model design patterns through targeted coding exercises.
Show steps
  • Register for an online coding platform or find code challenges.
  • Solve coding exercises specifically focused on view model implementation using Assisticant.
  • Analyze different approaches and solutions.
Develop a WPF Application with Testable View Models
Demonstrate your ability to implement testable and maintainable view models in a real-world WPF application.
Browse courses on Software Engineering
Show steps
  • Design the application architecture and define the view models.
  • Implement the view models with unit testing in mind.
  • Develop the WPF UI and bind it to the view models.
  • Write comprehensive unit tests for the view models.
  • Deploy the application and evaluate its performance.

Career center

Learners who complete Clean View Models With Assisticant will develop knowledge and skills that may be useful to these careers:
UI/UX Designer
UI/UX Designers are responsible for designing the user interface of websites and applications. This course may be useful for aspiring UI/UX Designers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
Software Engineer
Software Engineers are responsible for designing, developing, and maintaining software systems. This course may be useful for aspiring Software Engineers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites. This course may be useful for aspiring Web Developers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
UX Engineer
UX Engineers are responsible for designing, developing, and evaluating the user experience of websites and applications. This course may be useful for aspiring UX Engineers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
Software Architect
Software Architects are responsible for designing and developing software systems. This course may be useful for aspiring Software Architects as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing software systems that are easy to maintain and update.
Front-End Developer
Front-End Developers are responsible for designing and developing the user interface of websites and applications. This course may be useful for aspiring Front-End Developers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
Mobile App Developer
Mobile App Developers are responsible for designing, developing, and maintaining mobile applications. This course may be useful for aspiring Mobile App Developers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing user interfaces that are easy to maintain and update.
Quality Assurance Analyst
Quality Assurance Analysts are responsible for testing and evaluating software systems. This course may be useful for aspiring Quality Assurance Analysts as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing test plans that are easy to maintain and update.
Technical Writer
Technical Writers are responsible for writing documentation for software and other technical products. This course may be useful for aspiring Technical Writers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing documentation that is easy to maintain and update.
Data Analyst
Data Analysts are responsible for collecting, cleaning, and analyzing data. This course may be useful for aspiring Data Analysts as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing data pipelines that are easy to maintain and update.
Project Manager
Project Managers are responsible for planning, organizing, and executing projects. This course may be useful for aspiring Project Managers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing project plans that are easy to maintain and update.
Business Analyst
Business Analysts are responsible for understanding and analyzing business needs. This course may be useful for aspiring Business Analysts as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing business requirements that are easy to maintain and update.
Computer Scientist
Computer Scientists are responsible for studying and developing new computer technologies. This course may be useful for aspiring Computer Scientists as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing new software systems that are easy to maintain and update.
Data Scientist
Data Scientists are responsible for developing and implementing machine learning models. This course may be useful for aspiring Data Scientists as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing machine learning models that are easy to maintain and update.
Machine Learning Engineer
Machine Learning Engineers are responsible for designing and developing machine learning systems. This course may be useful for aspiring Machine Learning Engineers as it provides a solid foundation in writing clean and declarative view models. This is a critical skill for developing machine learning systems that are easy to maintain and update.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Clean View Models With Assisticant.
Offers a collection of recipes and code samples for implementing MVVM with the MVVM Light Toolkit, a popular library for WPF development. Provides practical guidance on common MVVM scenarios, including working with commands, data binding, and messaging.
Provides a comprehensive guide to designing and building scalable data-intensive applications, covering topics such as data modeling, data storage, and data processing. Offers insights into the challenges of managing large datasets, which can be relevant to the design of view models that handle significant amounts of data.
Offers practical guidance on writing clean and maintainable code, including principles of object-oriented design, refactoring, and code organization. While not specifically covering reactive programming, its principles can be applied to writing clean view models.
Provides a comprehensive reference for WPF development, covering advanced topics such as custom controls, data templates, and animation. While not specifically focused on view models, it offers valuable insights into the inner workings of WPF, which can aid in understanding how view models interact with the UI.
Examines the design and architecture of popular open source applications, including case studies on projects such as the Linux kernel, Apache web server, and Mozilla Firefox. Offers insights into real-world software design patterns and best practices that can be applied to the development of clean view models.
Covers advanced C# concepts and programming practices, including topics such as generics, delegates, and asynchronous programming. Provides a deeper understanding of C# language features that can be applied to writing effective view models.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Clean View Models With Assisticant.
Our Place in the Universe
(Jetpack, Architecture & More)Advanced Android Bootcamp...
Build and deploy a stroke prediction model using R
Spring Integration 5: Using Channel Adapters to Integrate...
Qt 5 C++ GUI Development - Intermediate
Specialized DFIR: Windows Event Log Forensics
Managing SSAS Models
Monitoring Windows Server 2016 with System Center 2016 –...
Building Windows Store Business Apps with Prism 1
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser