Refresh of the observer pattern content#54113
Merged
Merged
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
This pull request refreshes the Observer design pattern documentation by modernizing the articles and migrating the associated code samples into the docs-local snippets/ structure (including updated .NET target frameworks), while removing legacy snippet projects under samples/snippets/... that are no longer referenced.
Changes:
- Update Observer pattern articles (including best practices and provider/observer how-tos) with refreshed guidance and updated snippet references.
- Migrate the temperature monitor and baggage claim samples to
docs/standard/events/snippets/..., adding new C# and Visual Basic snippet projects targetingnet10.0. - Restructure the
observablessamples into language-specific folders and remove legacy shared C# files and oldersamples/snippets/...sources.
Reviewed changes
Copilot reviewed 42 out of 43 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesignpattern/vb/provider.vb | Remove legacy VB baggage provider implementation (no longer referenced). |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesignpattern/vb/observer.vb | Remove legacy VB arrivals monitor implementation (no longer referenced). |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesignpattern/vb/module1.vb | Remove legacy VB program entry point (no longer referenced). |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesignpattern/vb/baggageinfo.vbproj | Remove legacy VB project file for baggage sample. |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesign.howto/vb/temperaturemonitorvb.vbproj | Remove legacy VB temperature monitor project file. |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesign.howto/vb/provider.vb | Remove legacy VB provider implementation for temperature sample. |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesign.howto/vb/observer.vb | Remove legacy VB observer implementation for temperature sample. |
| samples/snippets/visualbasic/VS_Snippets_CLR/conceptual.observerdesign.howto/vb/data.vb | Remove legacy VB temperature data type snippet. |
| samples/snippets/csharp/VS_Snippets_CLR/conceptual.observerdesign.howto/cs/temperaturemonitorcs.csproj | Remove legacy C# temperature monitor project file. |
| samples/snippets/csharp/VS_Snippets_CLR/conceptual.observerdesign.howto/cs/provider.cs | Remove legacy C# provider implementation for temperature sample. |
| samples/snippets/csharp/VS_Snippets_CLR/conceptual.observerdesign.howto/cs/program.cs | Remove legacy C# program entry point for temperature sample. |
| samples/snippets/csharp/VS_Snippets_CLR/conceptual.observerdesign.howto/cs/observer.cs | Remove legacy C# observer implementation for temperature sample. |
| samples/snippets/csharp/VS_Snippets_CLR/conceptual.observerdesign.howto/cs/data.cs | Remove legacy C# temperature data type snippet. |
| docs/standard/events/snippets/shared/how-to-provider-observer/vb/temperaturemonitorvb.vbproj | Add new docs-local VB snippet project targeting net10.0 for the provider/observer how-tos. |
| docs/standard/events/snippets/shared/how-to-provider-observer/vb/provider.vb | Add refreshed VB provider sample (temperature monitor) with snippet markers. |
| docs/standard/events/snippets/shared/how-to-provider-observer/vb/program.vb | Update VB program to run the async temperature sample. |
| docs/standard/events/snippets/shared/how-to-provider-observer/vb/observer.vb | Add refreshed VB observer sample (temperature reporter) with snippet markers. |
| docs/standard/events/snippets/shared/how-to-provider-observer/vb/data.vb | Add refreshed VB temperature data type with snippet markers. |
| docs/standard/events/snippets/shared/how-to-provider-observer/csharp/temperaturemonitorcs.csproj | Add new docs-local C# snippet project targeting net10.0 for the provider/observer how-tos. |
| docs/standard/events/snippets/shared/how-to-provider-observer/csharp/provider.cs | Add refreshed C# provider sample (temperature monitor) with snippet markers. |
| docs/standard/events/snippets/shared/how-to-provider-observer/csharp/program.cs | Add refreshed C# program that runs the async temperature sample. |
| docs/standard/events/snippets/shared/how-to-provider-observer/csharp/observer.cs | Add refreshed C# observer sample (temperature reporter) with snippet markers. |
| docs/standard/events/snippets/shared/how-to-provider-observer/csharp/data.cs | Add refreshed C# temperature data type with snippet markers. |
| docs/standard/events/snippets/observables/vb/Observables.vbproj | Add VB snippet project for the observables (baggage) sample targeting net10.0. |
| docs/standard/events/snippets/observables/vb/Program.vb | Add VB program entry point for the baggage sample. |
| docs/standard/events/snippets/observables/vb/BaggageInfo.vb | Add VB baggage info type (with equality support). |
| docs/standard/events/snippets/observables/vb/BaggageHandler.vb | Add VB provider implementation for baggage notifications. |
| docs/standard/events/snippets/observables/vb/ArrivalsMonitor.vb | Add VB observer implementation for displaying arrivals. |
| docs/standard/events/snippets/observables/vb/Unsubscriber.vb | Add VB unsubscriber implementation for observables sample. |
| docs/standard/events/snippets/observables/Unsubscriber.cs | Remove legacy shared C# unsubscriber (replaced by language-specific versions). |
| docs/standard/events/snippets/observables/Program.cs | Remove legacy shared C# program (replaced by language-specific versions). |
| docs/standard/events/snippets/observables/BaggageHandler.cs | Remove legacy shared C# baggage handler (replaced by language-specific versions). |
| docs/standard/events/snippets/observables/ArrivalsMonitor.cs | Remove legacy shared C# arrivals monitor (replaced by language-specific versions). |
| docs/standard/events/snippets/observables/csharp/Observables.csproj | Update C# observables snippet project to target net10.0. |
| docs/standard/events/snippets/observables/csharp/Program.cs | Add C# program entry point for the baggage sample. |
| docs/standard/events/snippets/observables/csharp/BaggageInfo.cs | Add C# baggage info record struct. |
| docs/standard/events/snippets/observables/csharp/BaggageHandler.cs | Add C# provider implementation for baggage notifications. |
| docs/standard/events/snippets/observables/csharp/ArrivalsMonitor.cs | Add C# observer implementation for displaying arrivals. |
| docs/standard/events/snippets/observables/csharp/Unsubscriber.cs | Add C# unsubscriber implementation for observables sample. |
| docs/standard/events/observer-design-pattern.md | Refresh article content and switch snippet references to the new docs-local snippet paths. |
| docs/standard/events/observer-design-pattern-best-practices.md | Refresh best practices guidance and update metadata. |
| docs/standard/events/how-to-implement-an-observer.md | Refresh observer how-to steps and switch to the shared docs-local snippets. |
| docs/standard/events/how-to-implement-a-provider.md | Refresh provider how-to steps and switch to the shared docs-local snippets. |
adegeo
commented
Jun 2, 2026
BillWagner
approved these changes
Jun 2, 2026
Member
BillWagner
left a comment
There was a problem hiding this comment.
This LGTM overall. I had a few small suggestions to consider.
…or.cs Co-authored-by: Bill Wagner <wiwagn@microsoft.com>
Contributor
Author
|
As discussed, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
I had most of this done last week and I just needed some fit-and-finish work today, but then I noticed that AI had really gone of the rails with the code migration. It migrated the code but had also rewritten it, desynching it with the article. The rewrite was good, but it hadn't accounted for the fact that the code project was used by two different articles. In the effort to simplify and rewrite, it had ruined the other article's content.
I had to rewind, and fix all of that.
It's now in a good place.
Fixes #52697
Internal previews