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