Michael L Perry
Michael is a software generalist, producing mobile, desktop, and enterprise solutions. He codes in both C# and Java, and applies the lessons learned from each to the other.
By day, Michael is a solutions architect at AmerisourceBergen Specialty Group where he delivers high quality enterprise software in .NET to support the pharmaceutical industry. By night, he writes mobile applications in Java for the Android platform. He blogs his discoveries along the way at Adventures In Software (http://adventuresinsoftware.com/blog).
Articles Authored
-
INotifyPropertyChanged Is Obsolete
Last updated: Friday, December 26, 2025
Published in: CODE Magazine: 2009 - July/August
Michael L. Perry argues that INotifyPropertyChanged is easy to implement but anti-consumer, burdening business logic with boilerplate event wiring. He advocates Update Controls, a library that eliminates PropertyChanged usage by automatically detecting dependencies and updating the view, yielding code that focuses on core logic. Perry outlines how independent and dependent properties, independent sentries, and patterns like the Presentation Model and Navigation Model simplify design, enable asynchronous, thread-safe updates, and decouple UI from data, ultimately claiming that INotifyPropertyChanged becomes obsolete.

