- 博客(4)
- 收藏
- 关注
原创 Go语言基础
程序结构变量标准语法:var 变量名字 类型 = 表达式 var i int = 1简短语法:变量名字 := 表达式 j := 2常量关键字:const语法:const 常量名 = 编译期确定的值常量值:字符、字符串、布尔值、数值。常量不能用 := 语法声明类型语法:type 类型名字 底层类型type Person struct { name string  
2022-10-04 09:21:35 132 1
原创 设计模式:装饰模式
背景有一个奶茶点餐系统,当顾客点完茶之后,计算出顾客需要支付的价格。目前系统提供2种茶:苹果茶和芒果茶,系统实体关系如下:(1)Tea:抽象父类,所有具体类都需要继承,提供2个抽象方法。(2)AppleTea和MangoTea:具体类,实现description和price方法。比如,当顾客点了苹果茶,系统调用AppleTea的price方法,计算出顾客需要支付10元。为了给顾客更多选择,增加了2种配料:珍珠和椰果,顾客可以任意搭配。现在请你重新设计系统:最终需要支付的价格
2022-01-27 17:25:31 328
原创 设计模式:策略模式
背景有一款鸭子游戏,系统中有很多种类的鸭子,所有鸭子都会游泳和呱呱叫。类图如下:现在需要给鸭子添加飞行动作,让鸭子可以飞起来。第1版实现在父类Duck中新增fly方法,实现鸭子的飞行动作。游戏运行之后发现,有一只橡皮鸭也飞了起来,橡皮鸭怎么会飞呢?问题:并不是所有的鸭子都会飞,如果让不会飞的鸭子拥有飞行动作就会很奇怪这个好解决:在所有不会飞的鸭子类中重写fly方法,什么也不做如果系统中还有N(可以想象N很大)种鸭子不会飞,就得重写N个类,工作量好像有点大那有没
2022-01-26 17:06:49 242
原创 设计模式:观察者模式
背景需求:将气象站的数据显示在布告板上。如下图所示:(1)气象站:由WeatherStation类表示,有3个属性(温度、湿度、气压),当气象站的数据有变化时,会调用measurementsDidChanged方法。(2)布告板:由CurrentDisplay类表示,调用update方法来刷新布告板的数据。第1版实现在WeatherStation类中新增CurrentDisplay属性display,当气象数据变化时,在measurementsDidChanged方法中调用dis
2022-01-17 20:14:21 101
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人