[C#學(xué)習(xí)筆記21]OOP項(xiàng)目對(duì)象分析秘籍、對(duì)象關(guān)系確定的方法
一、項(xiàng)目類型
????1、沒有數(shù)據(jù)的項(xiàng)目:要求使用OOP思想和方法設(shè)計(jì),完全各個(gè)類的設(shè)計(jì)過程,確定類之間的關(guān)系
????2、有數(shù)據(jù)庫的項(xiàng)目:項(xiàng)目的框架和思想相對(duì)固定,在框架的約束下開發(fā)相對(duì)容易
????????常見框架:三層結(jié)構(gòu)、MVC等
二、核心問題
????1、項(xiàng)目中怎么確定多少個(gè)類?
????????1)名詞分析法:根據(jù)項(xiàng)目名稱或關(guān)鍵詞進(jìn)行篩選,往往項(xiàng)目名稱能提供重要的類名稱(具有相關(guān)屬性、方法)。
????????????例如:搖號(hào)軟件有居民區(qū)、選號(hào)器
????????????????????居民區(qū):A區(qū)、B區(qū)
????????????????????選號(hào)器:A區(qū)房號(hào),B去房號(hào),存儲(chǔ)所選房屬性
????????????????????????????????隨機(jī)數(shù)生成方法
????????????按照對(duì)象指責(zé)明確原則,把屬性和方法分配給對(duì)應(yīng)的對(duì)象(類),屬性和方法與項(xiàng)目相關(guān)
????????2)頭腦風(fēng)暴法:各抒己見,少數(shù)服從多數(shù)進(jìn)行篩選,只要設(shè)計(jì)合理即可
????2、類(對(duì)象)之間關(guān)系的確定
????????1)一對(duì)一的關(guān)系:一個(gè)類的對(duì)象作為另一個(gè)類的屬性,數(shù)據(jù)庫中數(shù)據(jù)表也會(huì)有一對(duì)一的關(guān)系
????????2)一對(duì)多的關(guān)系:一個(gè)類的多個(gè)對(duì)象作為另一個(gè)類的屬性,通常是集合類型(List<T>)
????????????Dictionary<k,v>數(shù)據(jù)表這種關(guān)系體現(xiàn)為“主外鍵關(guān)系”
????????????????????
????????????????????