TASK-C05: Design Patterns and .NET Techniques
- Status: Ready
- Scope Type: Repo-centered engineering techniques module
- Recommended Model Tier: Balanced to Frontier
- Recommended Reasoning: Medium
Objective
Write the course module that teaches the repo through OOP, patterns, MVVM, state management, DI, testing seams, and modern .NET techniques.
Scope
Create one substantial module that explains:
- domain modeling and boundaries
- MVVM and presentation separation
- service abstractions and dependency injection
- state store pattern
- persistence boundaries
- testing seams
- modern C# and .NET techniques visible in the repo
Non-Scope
- a general textbook on design patterns
- duplicating every lesson in full
- large code refactors
Files To Read First
- relevant pages under
docs/lessons/industrial-desktop-systems docs/adrs/ADR-001-use-central-app-state-store.mdsrc/InspectionPrototype.Applicationsrc/InspectionPrototype.Presentationtests/InspectionPrototype.Tests
Deliverable
docs/course/05-design-patterns-and-dotnet-techniques.md
Verification
- theory is tied to actual code, not generic examples
- existing lessons are linked where appropriate
npm run docs:build
Copy/Paste Prompt
text
You are working in C:\Lcn.Workspaces\lcn-wafer-inspection-desktop.
Audience: a newcomer software engineer or automation engineer learning this project.
Goal: turn this repo into a high-quality engineering training course, not just reference docs.
Style: practical, detailed, blog-quality English; clear headings; concrete examples; no fluff.
Ground all claims in the repo docs and code. Do not invent behavior that the current project does not support.
Prefer reusing and linking existing content under docs/lessons, docs/specs, docs/tasks, docs/adrs, docs/implementation, and the source code when helpful.
For diagrams, do not generate binary assets. Instead, produce a Draw.io-friendly diagram brief: title, purpose, nodes, edges, grouping, caption, and destination file path.
If you edit docs, keep VitePress navigation coherent and make sure npm run docs:build passes.
Task: Write the design and engineering techniques course module for this repo.
Create:
- docs/course/05-design-patterns-and-dotnet-techniques.md
Explain the project through these lenses:
- OOP boundaries and domain modeling
- MVVM and presentation separation
- service abstractions and dependency injection
- state store pattern
- persistence boundaries
- testing seams
- modern C# and .NET techniques actually visible in this codebase
Prefer linking to existing lessons where they already cover theory well.
Only add new theory where the repo-specific explanation is missing.
End with a “what to imitate vs what to be careful with” section.
Verify with npm run docs:build.