基于OOP设计项目的基本方法
一、项目的类型
1. 基于OOP设计小型项目(可以使用数据库,也可以不使用数据库而采用其他数据源)
(1)没有数据库的项目:要求使用OOP思想和方法,完成项目各个类的设计,确定各个类之间的关系。
(2)有数据库的项目:项目的框架和思路是相对固定的,在框架的约束下开发相对会更容易。
常见框架:三层架构、三层架构 + MVC
二、核心问题
1. 一个项目中怎样确定多少个类?
(1)名词分析法:先找到关键的名词,然后对名词进行筛选。筛选的依据:抽取的类应该具备相关的属性和方法。如果一个名称无法找到相关的属性和方法,则该名称不能抽象成类。
(2)头脑风暴法:大家一起商量,各抒己见,按照少数服从多数的方法进行筛选。
2. 每个类有什么要求?(属性、方法)
(1)属性对于初学者来讲,一次可能无法想全面,属性选择的依据:主要是考虑这个对象应该提供哪些数据。
(2)方法:依据相关的核心功能找到,然后依据和类的相关性,放到对应的类里面。
不管是属性还是方法,务必遵循面向对象各种原则的使用,尤其是“对象职责明确原则”。这一点,其实在后面的数据库设计中也非常重要。(对应数据表设计中的三范式中的第二个范式)
3. 类之间关系如何确定?
(1)一对一的关系:一个类的对象作为另一个类的属性。数据库表也会有一对一的关系。
(2)一对多的关系:一个类的多个对象作为另一个类的属性。通常这个属性是集合类型(List、Dictionary<k,v>)。数据表中这种关系体现为两个表之间的“主外键关系”。