摘要: 手机操作问题 现在对不同手机类型、不同品牌的手机实现操作编程(比如:开机、关机、上网,打电话等) 传统方式实现类图: 传统方案解决手机操作问题分析: 扩展性问题, 如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加一个手机品牌,也要在各个手机样式类下增加 违反了单一职责 阅读全文
posted @ 2021-01-09 23:59 哈哈丶丶 阅读(351) 评论(0) 推荐(0) 编辑
摘要: 现实生活中的适配器例子 对于不同国家的电源插口,如果我们想要使用,就需要使用对应的适配器 1. 适配器模式介绍 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。 适配器的别名为包装器(W 阅读全文
posted @ 2021-01-09 23:57 哈哈丶丶 阅读(51) 评论(0) 推荐(0) 编辑
摘要: 影院管理项目 组建一个家庭影院:DVD 播放器、 投影仪、 自动屏幕、 环绕立体声、 爆米花机,要求完成使用家庭影院的功能, 其过程为:直接用遥控器统筹各设备开关 开爆米花机 放下屏幕 开投影仪 开音响 开 DVD, 选 DVD 去拿爆米花 调暗灯光 播放 观影结束后, 关闭各种设备 传统方式解决影 阅读全文
posted @ 2021-01-09 23:49 哈哈丶丶 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。 传统方式如图使用继承的关系: 传统方案解决学校院系展示存在的问题分析 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 实际上我 阅读全文
posted @ 2021-01-09 23:32 哈哈丶丶 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 星巴克咖啡订单项目 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、 ShortBlack、 LongBlack(美式咖啡)、 Decaf(无因咖啡) 调料: Milk、 Soy(豆浆)、 Chocolate 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便 使用OO的来计算不同 阅读全文
posted @ 2021-01-09 23:27 哈哈丶丶 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 1.代理模式的基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。 即通过代理对象访问目标对象。 代理对象的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、 创建开销大的对象或需要安全控制的对象 代理模式有不同的形式,主要有 阅读全文
posted @ 2021-01-09 23:23 哈哈丶丶 阅读(46) 评论(0) 推荐(0) 编辑