基本设计模式和群组
设计模式按照类型和目标分成几个组,例如,一些模式提供展示逻辑,用来显示特定的视图以修饰用户接口。其他的用来控制与用户交互的行为方式。也有指定保持数据技术的模式。定义数据访问,为创建应用使用的对象实例的有利方法的最佳实践。下面的列表列出了一些最通用的设计模式。

MVC(Model-View-Controller) 和 MVP(Model-View-Presenter Patterns) 模式
MVC 和 MVP 模式通过分开三个组件,它们被要求产生并管理一个特定用户的接口(例如一个单独的web页). Model 包含View (we页) 将要显示和允许用户去操作的数据。Controller 或 Presenter 把 Model和View 关联起来,并且管理和处理所有Model 中的数据。在MVC 模式中,和View的“用户交互”将触发在控制器(Controller)中的事件,控制器用来更新Model。然后Model 触发事件去更新View。然而这样会引起 Model 和 View 的依赖。为了避免依赖, MVP 模式使用了一个叫 Presenter ,用它来更新Model.并且从Model中接受更新事件,然后用这些更新去更新View.MVP提高了可测试性,因为所有的逻辑和处理过程都发生在Presenter中,但是它没有在实现中增加复杂性,是因为更新必须经由Presenter 到View.