随笔分类 - Design Pattern
设计模式
摘要:
我的设计模式之旅。本节学习模板方法模式。从多个类包含许多相似代码的问题中思考如何在保持算法结构完整的情况下去除重复代码。介绍了模板方法模式的概念和实现方法。
阅读全文

摘要:
我的设计模式之旅。本节学习了适配器模式。从程序调用第三方库时遇到的问题着手,思考如何让两个不关联的类一起工作。并尝试使用C#运用适配器模式解决方钉与圆孔问题。
阅读全文

摘要:
我的设计模式之旅。本节详细说明单例模式的实现方式、优缺点,简要描述多线程情况下利用双重锁定保护单例对象和C#静态初始化的方式。并用 Golang 实现单例模式,三个工作者需要各自找到电梯搭乘,只有一个电梯!补充C#单线程单例模式的实现。
阅读全文

摘要:
我的设计模式之旅,本节学习原型模式。从复制原有对象出现的两大问题思考原型模式存在的必要性。探讨原型模式的实现方法。
阅读全文

摘要:
我的设计模式之旅,本节学习生成器(建造者)模式。从创建复杂形式对象出现的问题思考生成器模式存在的必要性。探讨生成器模式的实现方法。
阅读全文

摘要:
我的设计模式之旅,本节使用抽象工厂模式实现阿迪达斯、耐克品牌服饰生产,分别用C#跟Golang实现。对抽象方法模式进行了细致的介绍。
阅读全文

摘要:
我的设计模式之旅,本节实现武器生产工厂,用Golang实现简单工厂模式,用C#实现工厂方法模式。对工厂方法模式进行了细致的介绍。
阅读全文

摘要:
我的设计模式之旅,本文是对《大话设计模式》基础知识的补充。原书部分概念没有说清楚,如里氏替换原则的几点要求,三大类设计模式各个概念等等,为补充相关知识我阅读了《深入设计模式》,于是有了这篇前置文章。方便入门程序员了解更多基础知识。
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本程序实现状态模式。一个玩家从满血到死亡的过程有多个状态,假定健康、轻伤、重伤、死亡状态,当玩家扣血时判断切换状态,更改对象的行为。
阅读全文

摘要:
我的设计模式之旅,本程序实现观察者模式。使用C#、Go两门语言分别进行实现。程序创建一个全局游戏死亡事件通知,5个玩家、1个Boss,当任意一方死亡时,在场存活者都能收到阵亡者的消息。
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本节实现代理模式。小明很喜欢同班的雪怡,但是过于腼腆的他不敢当面说。打算通过手机(代理)跟雪怡表白!
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本节实现装饰模式。小明和小王去吃沙县小吃,各自喜欢不同的搭配,需要考虑每个人饮食喜好不同,随时可能的变化。
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本节实现解释器模式。程序可按需加载用户自定义的.work后缀文件,将每行的命令解释为具体行为。喵叫几次、进程休眠几秒、输出范围内随机数、运行另外的work文件。
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本节实现职责链模式。现有三批不同重量的货物,有三种工具可以托运,分别是自行车、汽车、卡车,未来工具可能会增多,判断这些货物由哪个工具运输。
阅读全文

摘要:
我的设计模式之旅,使用 Golang 实现。本节实现策略模式与简单工厂。编程旅途是漫长遥远的,在不同时刻有不同的感悟,本文会一直更新下去。
阅读全文
