摘要: 适配器模式: 将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 生活中也能找到不少适配器的例子。比如有些国家的电压是110v,而我们国家的是220v,这时我们在另外一个国家用本国的电器时就需要一个电源适配器。中国球员刚到NBA打 阅读全文
posted @ 2018-07-21 16:47 Ericyshi 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 工作上班,我们每个人在不同时间段都有不同的工作状态。上午精神状态最好,中午吃完饭就犯困,下午精神状态就下降了,如果工作没做完,晚上加班到很晚,那就崩溃了。那我们就用代码来实现一下这种工作状态的变化。 第一版: 方法过长,就有了坏味道。方法中判断分支过多,则说明其责任过大,无论什么工作状态,都需要它来 阅读全文
posted @ 2018-07-21 16:25 Ericyshi 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 题目:实现最基本的数据访问程序,以“新增用户”和得到用户为例。假设只有ID和Name字段,其余省略。 第一版,最简单的实现: 代码是简单,但这里不够灵活,被框死在Sqlserver上了,如果要用Access呢?再者被操作的数据也不只有User,还有可能有Department等其他对象。 第二版,抽象 阅读全文
posted @ 2018-07-21 15:33 Ericyshi 阅读(208) 评论(1) 推荐(0) 编辑
摘要: 工作中我们经常会出现这样一种场景:在工作不忙的时候,老板出去办事了,然后很多员工就在工位上开始忙自己的事,比如看股票,看视频,看小说,吃零食。前台员工充当哨兵,只要老板一来,就马上通知员工们。 第一版,双向耦合代码实现: 我们发现“前台”类与“看股票者”是双向耦合的,如果观察者中还有想看NBA直播、 阅读全文
posted @ 2018-07-20 15:19 Ericyshi 阅读(587) 评论(0) 推荐(0) 编辑
摘要: 题目:用程序画一个小人,简单点,要求是小人要有头、身体、两手、两脚就可以了。 第一版: 先造一支笔 再编写绘图类 一起来造人 人是造出来了,但造人的过程都是封装在子类中。如果现在要加个高个的黑人,我们有可能因为编程不注意,使其缺胳膊少腿。所以最好的方法是规定,凡是建造小人,都必须有头、有身体、有四肢 阅读全文
posted @ 2018-07-20 13:39 Ericyshi 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 迪米特法则:也叫最少知识原则,如果两个类不必彼此直接通信,那这两个类就不应该发生直接的相互作用。如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。 迪米特法则首先强调的前提是在类的结构设计上,每一个类都尽量降低成员的访问权限,也就是说一个类包装好自己的private状态,不 阅读全文
posted @ 2018-07-20 10:31 Ericyshi 阅读(155) 评论(0) 推荐(0) 编辑
摘要: 读书那会,我们经常要抄题目,从黑板上抄,从同学笔记那里抄,说实话,我就不喜欢这种学习方式,容易抄错题目。 我们来代码实现一下: 两份题目非常类似,除了答案不同。但如果一人抄错题目,那后面的人都会出错,这真实糟糕至极。那有没有更好点的实现方式呢? 第二版: 这里我们把题目都放到了TestPaper父类 阅读全文
posted @ 2018-07-20 10:05 Ericyshi 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 找工作时我们经常需要复印几份相同的简历。如果用编程来实现就是简单的复制粘贴,我们觉得很理所当然。 可以看出我们需要几份简历就需要实例化几次。如果写错一个字,也得改很多次。那有没有一种更简洁的方式呢?那就是原型模式了 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 我们用原 阅读全文
posted @ 2018-07-19 20:50 Ericyshi 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 之前我们用简单工厂方法模式模拟了计算器的功能,现在用工厂方法模式实现以下 先构建一个工厂接口 然后加减乘除各个具体的工厂去实现这个接口 相关的Operation类及接口已在简单工厂模式里面实现。 客户端(计算器)的实现: 是不是很简单!看起来和简单工厂模式区别也不大。简单工厂模式最大的优点在于工厂类 阅读全文
posted @ 2018-07-19 19:44 Ericyshi 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 代理模式来了!先举个例子:在校园里我们经常看到这样一幅情景,某个男生非常喜欢某某女神,但又不好意思直接大胆追求,于是就从女神身边玩得好的人着手,要她们帮忙送吃的,送玩的。。。这样间接地表达自己的心意。 代码实现: 被追求的女神 送礼物的接口 追求者 女神的闺蜜和帮忙做的事 代理模式:为其他对象提供一 阅读全文
posted @ 2018-07-18 13:44 Ericyshi 阅读(198) 评论(0) 推荐(0) 编辑