design-patterns

Define architectural patterns for scalable system design with layered boundaries.

1|Updated Jan 2, 2025
One-click install
npx skills add https://github.com/allenlin90/eridu-services --skill design-patterns-allenlin90
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: design-patterns
Source: https://github.com/allenlin90/eridu-services/tree/main/.agent/skills/design-patterns
Command: npx skills add https://github.com/allenlin90/eridu-services --skill design-patterns-allenlin90

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Establishes repeatable architectural blueprints for building scalable software with well-defined layer boundaries and modular organization, reducing cognitive load and coordination overhead across teams.

Core Features & Use Cases

  • Clear layering of HTTP/API, business logic, and data access with explicit boundaries to prevent leakage of concerns.
  • Dependency Injection, monorepo package organization, and module export discipline to improve testability and maintainability.
  • Use cases include designing new services in a multi-service repository, documenting architectural decisions, and aligning teams on standard patterns.

Quick Start

Define a new architectural pattern module by outlining a Controller, Service, and Repository that implement a single bounded context, with clear DI and boundaries.

Frequently Asked Questions about design-patterns

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I structure a multi-service monorepo to enforce clear module boundaries?

To structure a multi-service monorepo with clear module boundaries, apply layered architecture patterns that separate HTTP/API, business logic, and data access. This enforces explicit boundaries and prevents leakage of concerns across services.

What's the best way to implement dependency injection for scalable system design?

Implementing dependency injection for scalable system design requires defining architectural patterns with explicit service-to-repository interactions. This approach ensures separation of concerns and significantly improves testability and maintainability across enterprise applications.

How does layered architecture prevent business logic from leaking into data access layers?

Layered architecture prevents leakage by defining explicit boundaries between HTTP/API, business logic, and data access layers. It enforces strict separation of concerns, ensuring service-to-repository interactions remain isolated and controlled.

Can I use this architectural pattern module for documenting architectural decisions in enterprise applications?

Yes, you can use these architectural pattern modules for documenting architectural decisions in enterprise applications. They establish repeatable blueprints that reduce cognitive load and align teams on standard layering and module organization.

How do I define a new architectural pattern module with bounded contexts?

To define a new architectural pattern module with bounded contexts, outline a Controller, Service, and Repository that implement a single bounded context. Ensure clear dependency injection and strict layer boundaries throughout the design.