所以我想從物件導向中最容易、也最直觀的CRC先說明起(不過CRC不屬於UML的一部分)。
通常筆者在思考如何以物件導向設計的時候,最常用的技術就是去探索物件間的互動情況,這樣做的好處就是會忘記程序導向及資料操作,進而將重心放在行為上面。
就筆者的經驗,使用CRC的第一個步驟就是找出[責任]出來,例如THexFile這個物件,就是應該將hex file從儲存媒體讀進來,並且將它轉換成適當的Binary Code及回傳該Binary Code的大小。
#include <string>
class THexFile
{
protected:
std::string FstrFileName;
public:
bool readFromFile(std::string fileName);
uint8_t *getBinaryContent();
uint32_t getFileSize();
};第二個C代表的就是合作者,這個C的目的是可以知道有哪些類別會跟這個類別一起合作,藉此可以以較高階觀點了解類別間的連結(Link)關係。








