设计模式:
设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。
设计模式通常描述了一组相互紧密作用的类与对象,是从建筑设计领域引入到计算机当中。
有 23 种 使用设计模式是为了重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化。
在 1994 年,由 Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 四人(Gang of Four,即 GOF),合著出版了一本名为 Design Patterns - Elements of Reusable Object-Oriented Software(中文译名:设计模式 - 可复用的面向对象软件元素) 的书,该书首次提到了软件开发中设计模式的概念。
=======================================================
类:
类是一种用户定义的引用数据类型,也称类类型。
对象: 类的一种具象(实例)。
eg: C语言的结构体
struct Animal{
char name[128];
int age;
int sex;
void * peat(); // 成员属性
void * pbeat(); // 成员方法
};
void dog_eat(){
printf("狗吃屎\n");
}
void cat_eat(){
printf("猫吃鱼\n");
}
void person_eat(){
printf("人吃米\n");
}
int main(){
struct Animal dog;
struct Animal cat;
struct Animal person;
/*
dog.peat = dog_eat; // 但如果我们不想这么干呢?
cat.peat = cat_eat;
person.peat = person_eat;
*/
/* 我们之前的结构体,一般都是,按照 struct 中,元素顺序 一个一个的进行赋值,(但是可以不全部赋值)
struct Animal dog{ "阿黄", 1, 1, dog.peat, dog.bpeat }; // 函数名,先给老子理解成地址常量 https://www.cnblogs.com/douzi2/p/5611491.html
*/
但实际上,在 C99 与 C11 中,为结构体提供了指定初始化器,结构体的指定初始化器使用 点运算符 和 成员名 标识特定的元素,
这样使得 结构体的赋值,可以按照任意顺序使用指定初始化器
如:
struct Animal dog = { .sex = 1,
.peat = dog_eat
};
}