考虑一个表
student
| ID | name | city | province | country | ... | ... |
|---|---|---|---|---|---|---|
| 1 | A | |||||
| 2 | B | |||||
| 3 | C | |||||
| 4 | D | |||||
| 5 | E |
根据数据库设计范式,里面有冗余数据。应改进为:
student
| ID | name | city | ... | ... | ... | ... |
|---|---|---|---|---|---|---|
| 1 | A | New York | ||||
| 2 | B | New York | ||||
| 3 | C | Beijing | ||||
| 4 | D | Beijing | ||||
| 5 | E | Beijing |
| city | province | country |
|---|---|---|
| New York | ... | ... |
| Beijing | ... | ... |
| Paris | ... | ... |
| ... | ... | ... |
在程序设计语言中,这个技术被称为设计模式之享元模式
class Student{
public:
string id;
string name;
int city_idx;
string getCountry();
string getProvince();
string getCity();
};
string Student::getCountry(){
return CityFlyWeightFactory::getCountry(city_idx);
}

141

被折叠的 条评论
为什么被折叠?



