[[kunkun]] used a lot of design patterns to achieve all kinds of features. In each note I will go into more details with sample code. - [[Kunkun/Design Patterns/Plugin|Plugin]]: Load Extensions - [[Abstract Factory]]: Provide an extension template for extensions to implement, make sure they follow an interface - [[Kunkun/Design Patterns/Builder|Builder]]: Build a dynamic valibot validation schema from a JS object sent from extension for form validation - [[Kunkun/Design Patterns/Proxy|Proxy]]: Use JS proxy to build a fully type-safe RPC called [[Projects/kkrpc|kkrpc]] - [[Kunkun/Design Patterns/Facade|Facade]]: Build [[Projects/kkrpc|kkrpc]] and [[kunkun]]'s main extension API package [`@kksh/api`](https://www.npmjs.com/package/@kksh/api) - [[Kunkun/Design Patterns/Command|Command]]: Build Template UI extension render engine.