随笔分类 - 设计模式
演绎23种设计模式(C#)
摘要:今天来讲一下工厂方法模式。 大家可能听着这个模式有点耳熟,是的,前面第一篇博文,我们讲到了简单工厂模式。嗯,他们有的确非常相似,今天我们就拿简单工厂模式中的案例举例子即可。 学会了简单工厂模式,对于工厂方法模式也就自然而然的会了。 大家知道,简单工厂有个很明显的缺点,就案例来说,我增加一种算法,则需
阅读全文
摘要:今天,我们来讲一下代理模式 一、举例: 大家都追过女孩子,作为比较腼腆,不爱说话的程序员,想要送给心仪的女孩子礼物,但又不好意思,所以,会让自己比较外向豪放的好朋友去办这件事。自己买了礼物,然后让好朋友帮忙送给女孩子。 二、演绎 1、第一步演绎 下面,我们用一个控制台来模拟演示一下这个场景。[追求者
阅读全文
摘要:本篇博文,给大家讲解一下装饰模式,还是老样子,有一个简单的例子逐步演绎 一、举例 用一个简单的控制台实现 一个人穿各种各样衣服 的功能 然后我们会很自然的写出一下代码: 先写一个Person类 然后客户端调用这个Person类 这样就写完了。 二、演绎 ①现在,我各种装扮都写到了Person类中,有
阅读全文
摘要:在上一篇博文结尾中,提到了存在的问题,那么我们通过策略模式与简单工厂结合的方式来解决上篇结尾中提到的问题。 方法很简单,我们将CashContext简单的改造一下即可 哈哈,是不是很像一个工厂? 那么,客户端调用起来就非常非常简单了。 嗯,是不是很简洁明了? 很多刚开始接触设计模式的小伙伴有这样一个
阅读全文
摘要:这是一个商场收费软件的一个案例,如下: 用Winform做一个非常简单的商场计算价格的工具,一般我们写的代码和界面如下: 界面: 代码: 执行效果: 二、演绎 1、第一步演绎 ①商场搞活动,所有商品八折出售。 有的小伙伴直接将原来计算总价的代码改成下面的代码: 额,如果商场不打折了,还需要将这段代码
阅读全文
摘要:一、举例 用控制台程序做一个非常简单的计算机,实现加减乘除运算即可,那么,大家自然而然的会写出如下代码 二、演绎 1、第一步演绎 ①由于在判断运算符时,用的是if语句,这意味着每个条件都需要做判断,相当于计算机做了三次无用功。 ②没有输入校验,例如,除数不能为零的问题等等 就上述两个问题,做如下修改
阅读全文
摘要:《大话设计模式》(程杰 著) 已经看了好多遍了,已被其中设计模式的智慧和精妙深深吸引,加之刚搬家到博客园,应有一些高质量的文章,所以,特地设此专栏。 本专栏主要学习借鉴 程杰 著《大话设计模式》一书的内容,为自己的学习做一个总结,加深印象,其中,大部分案例为书中作者的案例,学习记录之余也扩散设计模式
阅读全文