diff --git a/docs/BY-LANGUAGE.md b/docs/BY-LANGUAGE.md index 90f774bb..27c29edc 100644 --- a/docs/BY-LANGUAGE.md +++ b/docs/BY-LANGUAGE.md @@ -872,19 +872,60 @@ These patterns contain runnable code examples written in C++: These patterns have unique implementation variants or change their design structure specifically when built using C++ features (documented in Dimension 8): +- [Active Object](../patterns/09-concurrency/active-object.md) (Concurrency and Parallelism) +- [Adapter](../patterns/01-design-patterns-gof/adapter.md) (Design Patterns (GoF)) +- [Balking](../patterns/09-concurrency/balking.md) (Concurrency and Parallelism) +- [Bridge](../patterns/01-design-patterns-gof/bridge.md) (Design Patterns (GoF)) +- [Call Super](../patterns/18-anti-patterns/call-super.md) (Anti-Patterns) +- [Characterization Test](../patterns/14-testing/characterization-test.md) (Testing) +- [Common Closure Principle](../patterns/04-principles-and-laws/common-closure-principle.md) (Principles and Laws) +- [Common Reuse Principle](../patterns/04-principles-and-laws/common-reuse-principle.md) (Principles and Laws) +- [Compare-and-Swap Loop](../patterns/09-concurrency/compare-and-swap-loop.md) (Concurrency and Parallelism) +- [Composite](../patterns/01-design-patterns-gof/composite.md) (Design Patterns (GoF)) - [Copy-on-Write](../patterns/09-concurrency/copy-on-write.md) (Concurrency and Parallelism) - [Double-Checked Locking](../patterns/09-concurrency/double-checked-locking.md) (Concurrency and Parallelism) +- [Dummy](../patterns/14-testing/dummy.md) (Testing) +- [Facade](../patterns/01-design-patterns-gof/facade.md) (Design Patterns (GoF)) - [Future Promise](../patterns/09-concurrency/future-promise.md) (Concurrency and Parallelism) +- [Fuzz Testing](../patterns/14-testing/fuzz-testing.md) (Testing) +- [Golden Master](../patterns/14-testing/golden-master.md) (Testing) +- [High Cohesion](../patterns/04-principles-and-laws/high-cohesion.md) (Principles and Laws) +- [Immutable Object](../patterns/09-concurrency/immutable-object.md) (Concurrency and Parallelism) +- [Indirection](../patterns/04-principles-and-laws/indirection.md) (Principles and Laws) +- [Inline Function](../patterns/03-refactoring/inline-function.md) (Refactoring Techniques) +- [Insider Trading](../patterns/02-code-smells/insider-trading.md) (Code Smells) +- [Introduce Assertion](../patterns/03-refactoring/introduce-assertion.md) (Refactoring Techniques) +- [LSM Tree](../patterns/12-data-storage/lsm-tree.md) (Data and Storage) +- [Mock](../patterns/14-testing/mock.md) (Testing) +- [Mutation Test](../patterns/14-testing/mutation-test.md) (Testing) +- [Plugin](../patterns/06-enterprise-application-architecture/plugin.md) (Enterprise Application Architecture) +- [Polymorphism](../patterns/04-principles-and-laws/polymorphism.md) (Principles and Laws) +- [Prototype](../patterns/01-design-patterns-gof/prototype.md) (Design Patterns (GoF)) +- [Proxy](../patterns/01-design-patterns-gof/proxy.md) (Design Patterns (GoF)) +- [Reactor](../patterns/09-concurrency/reactor.md) (Concurrency and Parallelism) - [Role Object](../patterns/01-design-patterns-gof/role-object.md) (Design Patterns (GoF)) - [Scoped Locking](../patterns/09-concurrency/scoped-locking.md) (Concurrency and Parallelism) +- [Sequential Coupling](../patterns/18-anti-patterns/sequential-coupling.md) (Anti-Patterns) +- [Slide Statements](../patterns/03-refactoring/slide-statements.md) (Refactoring Techniques) +- [Split Variable](../patterns/03-refactoring/split-variable.md) (Refactoring Techniques) +- [Strategized Locking](../patterns/09-concurrency/strategized-locking.md) (Concurrency and Parallelism) +- [Strategy](../patterns/01-design-patterns-gof/strategy.md) (Design Patterns (GoF)) - [Structured Output](../patterns/17-ai-agentic/structured-output.md) (AI and Agentic) +- [Thread-Safe Interface](../patterns/09-concurrency/thread-safe-interface.md) (Concurrency and Parallelism) - [Thread-Specific Storage](../patterns/09-concurrency/thread-specific-storage.md) (Concurrency and Parallelism) +- [Yo-yo Problem](../patterns/18-anti-patterns/yo-yo-problem.md) (Anti-Patterns) #### Made Unnecessary or Alternative in C++ These patterns have native features in C++ that make the pattern unnecessary, or require an alternative design approach (documented in Dimension 4): -No language-level redundancies recorded. +- [Bridge](../patterns/01-design-patterns-gof/bridge.md) (Design Patterns (GoF)) +- [Double-Checked Locking](../patterns/09-concurrency/double-checked-locking.md) (Concurrency and Parallelism) +- [Facade](../patterns/01-design-patterns-gof/facade.md) (Design Patterns (GoF)) +- [Fuzz Testing](../patterns/14-testing/fuzz-testing.md) (Testing) +- [Insider Trading](../patterns/02-code-smells/insider-trading.md) (Code Smells) +- [Iterator](../patterns/01-design-patterns-gof/iterator.md) (Design Patterns (GoF)) +- [Replace Error Code with Exception](../patterns/03-refactoring/replace-error-code-with-exception.md) (Refactoring Techniques) ### C# @@ -904,7 +945,6 @@ These patterns have unique implementation variants or change their design struct - [Anemic Domain Model](../patterns/18-anti-patterns/anemic-domain-model.md) (Anti-Patterns) - [Association Table Mapping](../patterns/06-enterprise-application-architecture/association-table-mapping.md) (Enterprise Application Architecture) - [Async Await](../patterns/09-concurrency/async-await.md) (Concurrency and Parallelism) -- [Backpressure](../patterns/09-concurrency/backpressure.md) (Concurrency and Parallelism) - [Balking](../patterns/09-concurrency/balking.md) (Concurrency and Parallelism) - [Builder](../patterns/01-design-patterns-gof/builder.md) (Design Patterns (GoF)) - [Busy Front End](../patterns/18-anti-patterns/busy-front-end.md) (Anti-Patterns) @@ -913,20 +953,17 @@ These patterns have unique implementation variants or change their design struct - [Class Table Inheritance](../patterns/06-enterprise-application-architecture/class-table-inheritance.md) (Enterprise Application Architecture) - [Command Query Responsibility Segregation](../patterns/08-cloud-distributed/cqrs.md) (Cloud and Distributed) - [Comments](../patterns/02-code-smells/comments.md) (Code Smells) -- [Countdown Latch](../patterns/09-concurrency/countdown-latch.md) (Concurrency and Parallelism) - [Data Class](../patterns/02-code-smells/data-class.md) (Code Smells) - [Data Mapper](../patterns/06-enterprise-application-architecture/data-mapper.md) (Enterprise Application Architecture) - [Data Transfer Object](../patterns/06-enterprise-application-architecture/data-transfer-object.md) (Enterprise Application Architecture) - [Decorator](../patterns/01-design-patterns-gof/decorator.md) (Design Patterns (GoF)) - [Domain Event](../patterns/10-microservices/domain-event.md) (Microservices) - [Domain Service](../patterns/11-domain-driven-design/domain-service.md) (Domain-Driven Design) -- [Double-Checked Locking](../patterns/09-concurrency/double-checked-locking.md) (Concurrency and Parallelism) - [Embedded Value](../patterns/06-enterprise-application-architecture/embedded-value.md) (Enterprise Application Architecture) - [Facade](../patterns/01-design-patterns-gof/facade.md) (Design Patterns (GoF)) - [Factory Method](../patterns/01-design-patterns-gof/factory-method.md) (Design Patterns (GoF)) - [Foreign Key Mapping](../patterns/06-enterprise-application-architecture/foreign-key-mapping.md) (Enterprise Application Architecture) - [Future Promise](../patterns/09-concurrency/future-promise.md) (Concurrency and Parallelism) -- [Guarded Suspension](../patterns/09-concurrency/guarded-suspension.md) (Concurrency and Parallelism) - [Hexagonal Architecture](../patterns/05-architectural/hexagonal-architecture.md) (Architectural Patterns) - [Immutable Object](../patterns/09-concurrency/immutable-object.md) (Concurrency and Parallelism) - [Incomplete Library Class](../patterns/02-code-smells/incomplete-library-class.md) (Code Smells) @@ -963,7 +1000,6 @@ These patterns have unique implementation variants or change their design struct - [Pure Fabrication](../patterns/04-principles-and-laws/pure-fabrication.md) (Principles and Laws) - [Reactor](../patterns/09-concurrency/reactor.md) (Concurrency and Parallelism) - [Replace Conditional with Polymorphism](../patterns/03-refactoring/replace-conditional-with-polymorphism.md) (Refactoring Techniques) -- [Replace Control Flag with Break](../patterns/03-refactoring/replace-control-flag-with-break.md) (Refactoring Techniques) - [Replace Temp with Query](../patterns/03-refactoring/replace-temp-with-query.md) (Refactoring Techniques) - [Replace Type Code with Subclasses](../patterns/03-refactoring/replace-type-code-with-subclasses.md) (Refactoring Techniques) - [Row Data Gateway](../patterns/06-enterprise-application-architecture/row-data-gateway.md) (Enterprise Application Architecture) diff --git a/tools/gen-by-problem-by-language.py b/tools/gen-by-problem-by-language.py index e172c88c..e4e5b689 100644 --- a/tools/gen-by-problem-by-language.py +++ b/tools/gen-by-problem-by-language.py @@ -177,8 +177,8 @@ def detect_mentions(section_text: str, lang_key: str) -> bool: "java": [r"\bjava\b"], "swift": [r"\bswift\b"], "kotlin": [r"\bkotlin\b"], - "csharp": [r"\bcsharp\b", r"c#"], - "cpp": [r"\bcpp\b", r"\bc\+\+\b"], + "csharp": [r"\bcsharp\b", r"\bc#"], + "cpp": [r"\bcpp\b", r"\bc\+\+"], } for pattern in terms.get(lang_key, []):