MVC / MVVM
The MVC pattern enforces the decoupling of View, Model, and Controller, making applications more flexible to change and easier to developer.
The View can be implemented using ZK User Interface Markup Language (ZUML) without any programming; meanwhile, ZK automatically wires the UI components and user events to members in the Controller class.
The MVVM pattern enforces further decoupling to simplify the application and to make it more flexible to change. With ZK MVVM, most glue logic, including CRUD and state synchronization, is done automatically, while the application focuses more on abstraction of View's states and behaviors rather than UI components.