JSF framework leverages Factory Method, State, Singleton, Composite, Strategy, Decorator, Template Method, and Observer design patterns. JSF is a Model-View-Controller (MVC) having: Managed/backing beans as the model (M) JSF user interface (UI) components as the view (V) FacesServlet as the controller (C)