摘要: 第14章:享元模式 一、展示网站项目需求 小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: 有客户要求以新闻的形式发布 有客户人要求以博客的形式发布 有客户希望以微信公众号的形式发布 二、传统方案解决网站展现项目 直接复制 阅读全文
posted @ 2020-01-10 22:09 默月 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 第13章:外观模式 13.1 影院管理项目 组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 开爆米花机 放下屏幕 开投影仪 开音响 开 DVD,选 dvd 去拿爆米花 调暗灯光 播放 观影结束后,关闭各 阅读全文
posted @ 2020-01-10 22:07 默月 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 第12章:组合模式 一、看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。如图: 清华大学 计算机学院 计算机科学与技术 软件工程 网络工程 信息工程学院 通信工程 信息工程 二、传统方案解决学校院系展示(类 阅读全文
posted @ 2020-01-10 22:05 默月 阅读(136) 评论(0) 推荐(0) 编辑
摘要: 第11章:装饰者设计模式 一、星巴克咖啡订单项目(咖啡馆): 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 调料:Milk、Soy(豆浆)、Chocolate 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、 阅读全文
posted @ 2020-01-10 22:03 默月 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 第10章:桥接模式 一、手机操作问题 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图: ​ 传统方案解决手机操作问题 传统方法对应的类图 三、传统方案解决手机操作问题分析 扩展性问题( 类爆炸 ),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同 阅读全文
posted @ 2020-01-10 22:00 默月 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 第9章:适配器模式 现实生活中的适配器例子 泰国插座用的是两孔的(欧标),可以买个多功能转换插头 (适配器) ,这样就可以使用了。 二、基本介绍 适配器模式(Adapter Pattern) 将某个类的接口转换成客户端期望的另一个接口表示 , 主的目的是兼容性 ,让原本因接口不匹配不能一起工作的两个 阅读全文
posted @ 2020-01-10 21:57 默月 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 第8章:建造者模式 一、盖房项目需求 需要建房子:这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的. 请编写程序,完成需求. 传统方式解决盖房需求 思路分析(图解) 看老师代码的演示 这里以 commonHouse 为例,实现上面的接口 阅读全文
posted @ 2020-01-10 21:55 默月 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 第7章:原型模式 克隆羊问题 现在有一只羊 tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和 tom 羊 属性完全相同的 10 只羊。 二、传统方式解决克隆羊问题 思路分析(图解) 看老师代码的演示 首先是 Sheep 实体类 然后创建同属性的 Sheep: 三、传统的方式的优 阅读全文
posted @ 2020-01-10 21:53 默月 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 第6章:工厂模式 一、简单工厂模式 (一)看一个具体的需求 看一个披萨的项目:要便于披萨种类的扩展,要便于维护 披萨的种类很多(比如 GreekPizz、CheesePizz 等) 披萨的制作步骤有: prepare,bake, cut, box 完成披萨店订购功能。 (二)使用传统的方式来完成 思 阅读全文
posted @ 2020-01-10 21:51 默月 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 第5章:单例设计模式 一、 单例设计模式介绍 所谓类的单例设计模式,就是 采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例 , 并且该类只提供一个取得其对象实例的方法(静态方法)。 比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Se 阅读全文
posted @ 2020-01-10 21:49 默月 阅读(133) 评论(0) 推荐(0) 编辑