┌─────────────────────────────────────┐
│ prototypic.dev │
│ │
│ ┌───────────┐ ┌───────────┐ │
│ │ DESIGN │──▶│ BUILD │ │
│ │ {spec} │ │ {impl} │ │
│ └─────┬─────┘ └─────┬─────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌─────────────────────────┐ │
│ │ PROTOTYPE │ │
│ │ {the first form} │ │
│ └─────────────────────────┘ │
└─────────────────────────────────────┘
THE BLUEPRINT BEFORE THE BUILD
Software architecture as technical drawing
01 // PROTOTYPE PATTERN
In software architecture, the prototype is the first instantiation of a pattern -- the reference implementation against which all subsequent instances are measured. It is not a rough draft. It is a precise specification rendered in executable form.
The prototypal inheritance model asks: rather than defining a class hierarchy, what if every object simply delegates to another object? The chain of delegation becomes the architecture. The blueprint IS the building.
┌─────────────┐ ┌─────────────┐
│ Prototype │────▶│ Object │
│ {methods} │ │ {__proto__}│
└──────┬───────┘ └─────────────┘
│
▼
┌─────────────┐
│ Instance │
│ {own props} │
└─────────────┘
02 // THE CHAIN
Every prototype links to its predecessor. The chain is not a hierarchy -- it is a delegation path. When a property is not found on the current object, the runtime walks upward through the prototype chain, querying each link until it finds the value or reaches the terminal null.
This architecture is elegant because it is flat. There are no abstract base classes, no diamond inheritance problems. There is only the chain: direct, traceable, debuggable.
instance
│
▼
prototype
│
▼
Object.prototype
│
▼
null
03 // COMPOSITION
The prototypic approach favors composition over inheritance. Small, focused modules connect through well-defined interfaces. Each module owns its specification and exposes only what the blueprint declares.
The architecture diagram is not a tree -- it is a graph. Dependencies flow in documented directions. Every connection is intentional, every interface is versioned, every contract is honored.
┌──────┐ ┌──────┐ ┌──────┐ │ Auth │──▶│ Core │◀──│ Data │ └──┬───┘ └──┬───┘ └──┬───┘ │ │ │ ▼ ▼ ▼ ┌──────────────────────────────┐ │ Runtime Layer │ └──────────────────────────────┘