白话解释:租房找中介。不太需要知道房源的真实,交个中介。租房后,房主改名字,租房者也没必要关心,告诉中介就行了。
优点:使用中介会屏蔽一些使用者不需要关心的细节;降低系统耦合。
/**
* 需求:LED小灯的闪烁
* 环境:模拟STM32
* 2017年10月7日,21点43分
*/
/*-----------------------------------------第一部分,被代理的实体-------------------*/
/* 控制led的实体,对应使用ST库函数的驱动 */
void st_led_init(void)
{
GPIO_Init(GPIOA,Pin_10);
}
void st_led_open(void)
{
GPIO_Set(GPIOA,Pin_10);//高电平点亮
}
void st_led_close(void)
{
GPIO_Reset(GPIOA,Pin_10);//低电平熄灭
}
/*---------------------------------------第二部分,代理----------------------------*/
/* 代理 */
void led_init(void)
{
st_led_init();
}
void led_open(void)
{
st_led_open();
}
void led_close(void)
{
st_led_close();
}
/*--------------------------------------------------------------第三部分使用,主函数 */
void main(void)
{
led_init();
led_open();
}
尾巴:
第一部分我起名字叫硬件层,不同的处理器,芯片厂家提供的库函数。
第二部分代理,也可以理解为硬件抽象层,在这里对硬件进行屏蔽。
第三部分就是应用层,如果换处理器,应用是不需要修改代码的。