Gone Mobile
00:00:00
/
01:08:18

108: Architecture Patterns

May 31st, 2024

In this conversation, Jon and Allan discuss various topics related to architecture and performance in mobile app development. They touch on the challenges of implementing the MVVM pattern and the potential for excessive property changed notifications. They also discuss the use of observable collections and the importance of using them only when necessary. Additionally, they express their dislike for messaging services and suggest using events or actions instead. Overall, the conversation emphasizes the need for thoughtful architecture and optimization in mobile app development. The conversation explores the use of mediator pattern in mobile and app development. The mediator pattern is seen as a solution to prevent service overrun and to provide logical separation in the app. It allows for vertical slicing of concerns and prevents the need for injecting multiple services. The conversation also discusses the challenges of messaging services and the benefits of using a mediator pattern in terms of scalability, error handling, and unit testing. The potential application of the mediator pattern in Xamarin and .NET Maui apps is explored. In this conversation, Allan and Jon discuss the concept of using a mediator pattern in mobile app development. They explore the benefits of using a mediator to handle communication between different components of an app, such as view models and services. They also discuss existing implementations of the mediator pattern, such as MediatR, and potential future developments in this area. Overall, they highlight the potential value of using a mediator pattern in mobile app architecture.

Takeaways

  • Implementing the MVVM pattern can lead to excessive property changed notifications, which may impact performance.
  • Observable collections should be used only when data is constantly changing, such as in real-time applications.
  • Consider using events or actions instead of messaging services for better control and clarity in event handling.
  • Thoughtful architecture and optimization are crucial for improving performance in mobile app development. The mediator pattern can be a solution to prevent service overrun and provide logical separation in mobile and app development.
  • Using a mediator pattern allows for vertical slicing of concerns and prevents the need for injecting multiple services.
  • The mediator pattern offers benefits such as scalability, error handling, and ease of unit testing.
  • The potential application of the mediator pattern in Xamarin and .NET Maui apps is worth exploring. The mediator pattern can be a valuable tool for handling communication between different components of a mobile app.
  • Using a mediator can simplify unit testing by allowing developers to focus on testing individual components rather than the entire app.
  • Existing implementations of the mediator pattern, such as MediatR, can provide a solid foundation for incorporating this pattern into mobile app development.
  • The mediator pattern can help clean up code and improve the organization and separation of concerns in mobile app architecture.

People

  • Hosts: Jon Dick, Allan Ritchie
  • Audio Engineer: Jim Heath

Chapters

  • 00:00 Introduction and Personal Updates
  • 03:00 Challenges of Implementing the MVVM Pattern
  • 09:04 Optimizing the Use of Observable Collections
  • 14:57 Avoiding Excessive Messaging Services
  • 22:18 Challenges with Messaging Services
  • 24:02 Exploring the Mediator Pattern
  • 27:07 The Role of Mediators in Routing
  • 30:17 Separation of Concerns and Dependency Injection
  • 33:30 Handling Events in Temporary View Models
  • 36:00 Benefits of the Mediator Pattern
  • 40:08 Scaling and Breaking Down Hotspots
  • 44:20 Command Handlers and Mediator Interaction
  • 46:27 Focusing on the Action with Mediators
  • 49:28 Simplifying Unit Testing with a Mediator
  • 52:17 Existing Implementations of the Mediator Pattern
  • 55:11 Handling Unsolicited Notifications with a Mediator
  • 57:24 Mediator Libraries and Best Practices
  • 01:00:57 Challenges and Considerations for Mediator Implementation
  • 01:03:49 Future Developments and Feedback

Episode Comments