摘要:
需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。如图 传统解决方案 传统方案问题分析 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 实际上我们的要求是:在一个页面中展示出学校的院系组成,一个学 阅读全文
摘要:
智能生活项目需求 我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装app就可以控制对这些家电工作。 这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个App,分别控制,我们希望只要一个app就可以控制全部智能家电。 要实现一个app控制所有智能家电的需要,则每个智能 阅读全文
摘要:
测评系统的需求 将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价有不同的种类,比如成功、失败等) 传统方案解决 传统方案问题分析 如果系统比较小,还是ok的,但是考虑系统增加越来越多新的功能时,对代码改动较大,违反了ocp原则,不利于维护 扩展性不好,比如 阅读全文
摘要:
基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象 代理模式有不同的形式,主要有三种静态代理、动态代理 阅读全文
摘要:
豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程选材 >添加配料 >浸泡 >放到豆浆机打碎 通过添加不同的配料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 请使用模板方法模式完成(说明:因为模板方法模式,比较简单,很容易就想到这个方案, 阅读全文
摘要:
展示网站项目需求 小型的外包项目, 给客户A做一个产品展示网站, 客户A的朋友感觉效果很不错, 也需要做这样的产品网站, 但是要求都有些不同 有客户要求以新闻的方式发布 有客户要求以博客的形式发布 有客户希望以微信公众号的形式发布 传统解决方案 直接复制粘贴一份, 然后根据客户不同的要求, 进行定制 阅读全文
摘要:
学院院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系。如图: 传统方式解决方案 问题分析 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 实际上我们的要求是:在一个页面中展示出学校的院系组 阅读全文
摘要:
影院管理项目 组建一个家庭影院: DVD播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 开爆米花机 放下屏幕 开投影仪 开音响 开DVD, 选dvd 去拿爆米花 调暗灯光 播放 观影结束后,关闭各种设备 传统方式解决影院管理 传统 阅读全文
摘要:
星巴克咖啡订单项目(咖啡馆) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 调料:Milk、Soy(豆浆)、Chocolate 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便 使用OO的来计算不同种 阅读全文
摘要:
手机操作问题 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等),如图: 传统解决方案 类图 问题分析 扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加一个手机品牌,也要在各个手机样式类下增加。 违反了单一职责原则,当我 阅读全文