架构基础
3-Tier:
- UI : 只能使用 BLL 和 Models
- Entities: 共享 , 扮演各层之间的 DTO 角色
- BAL : 只能被 UI 使用
- DataProvider(单件模式与反射机制)
- DAL : 只能被 BLL 使用
- IDAL
- Providers
- DALFactory(抽象工厂)
基本原则:UI BAL DAL 不能越层访问
MVP:
1. Model (Model First)
Entities: 业务对象设计
DAL: 业务数据存储设计
BAL: 业务存储设计(业务验证/业务逻辑)
2. View Interfaces (UI 交互逻辑)
Data Binding: DropDownList/DataGrid/ListView etc.
Data Display: Edit Items
Event Handler: Button/CheckBox/RadioBox etc.
3. Presenter (View Interfaces 与 BAL 建立关系)
构造函数:依赖 View Interfaces
Initialize: 提供 View 的 Data Binding
4. View (实现View Interfaces)
构造函数:组合 Presenter