The full-stack design means that each layer can be seamlessly integrated, and the dry principle (don't repeat yourself) is followed to extract the shared items from each layer, and through the top-down design, seamless integration, together, to achieve a higher level, more coarse-grained reuse, at the same time to ensure flexible scalability, observe the open-closed principle at a higher and coarse granularity. At each key point of each layer, provide many hooks and callback interfaces for users to expand. The full-stack design does not blindly pursue a loose mechanism between layers. Instead, it enhances cohesion and adhesion between layers, to achieve coarse-grained encapsulation and reuse.
It can be said that the power of the Full-stack design is enormous. Compared with the ordinary single-level design, the development efficiency is not at one level. The design is based on the 28 principle, it can meet the direct development of 80 callers, and 19% of callers can scale through expansion points to meet their needs. For 1% drill corners, they can build their own wheels.
Spring, Ruby on Rails, and Zend are the full-stack design of industrial strength. If our design is centered on them, the production power has been greatly improved.