摘要: 题目:写一个给人搭配不同服饰的系统,就是那种可以换各种各样衣服裤子的个人形象系统。简单点,用控制台实现。 第一版: 功能是实现了,但如果要增加“超人”的装扮,就需要修改“Person”类,这违背了“开放封闭原则”。所以应该把这些服饰类都写成子类。 第二版: 代码结构图 现在代码确实做到了“服饰”类与 阅读全文
posted @ 2018-06-27 14:58 Ericyshi 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 抽象不应该依赖细节,细节应该依赖于抽象。说白了,就是要针对接口编程,不要对实现编程。可以用电脑的设计来理解,无论主板,CPU,内存,还是硬盘都是针对接口设计的。如果针对实现设计,内存就要对应到具体每个品牌的主板,就会出现换内存就需要把主板换掉的尴尬。 依赖倒转原则:1.高层模块不应该依赖低层模块,两 阅读全文
posted @ 2018-06-21 15:12 Ericyshi 阅读(159) 评论(0) 推荐(0) 编辑
摘要: 开放封闭原则是说软件实体(类、模块、函数等等)应该可以扩展,但是不可以修改【ASD】。 这原则有两个特征,对于更改是封闭的,对于扩展是开放的。我们在做任何系统的时候都不要指望一开始需求就确定,就再也不会变化,这时不现实的。面对需求的改动,怎样保持系统的相对稳定,从而使系统可以在第一个版本之后不断推出 阅读全文
posted @ 2018-06-21 10:18 Ericyshi 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 定义:不要存在多于一个导致类变更的原因。通俗地说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2。这样修改时互不影响。 很 阅读全文
posted @ 2018-06-20 14:03 Ericyshi 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 策略模式学习笔记。学得有点慢哈,但还是日有所进,我相信长时间坚持学习下去总会有进步。题目:做一个商场收银软件,营业员根据客户所购买的单价和数量,向客户收费。我在这里就不写客户端了,直接在控制台模拟输入。 来个最直接的: 从控制台输入商品单价、数量和折扣,再显示出此商品总价和总花费。这里收回上次的吐槽 阅读全文
posted @ 2018-06-01 01:06 Ericyshi 阅读(253) 评论(0) 推荐(0) 编辑
摘要: 哈哈哈,从读书起就不喜欢写作的我决定从今天开始写点东西了。嗯,就是像某某前辈说的 “从设计模式开始写博客吧,它会让你受益无穷”。那我就从设计模式开始吧。我学习的是《大话设计模式》这本书。本着理论-实践-总结的学习方式,我现在的总结肯定是来源于该书,主要记录我的学习过程。 题目:“请用面向对象语言实现 阅读全文
posted @ 2018-05-27 21:23 Ericyshi 阅读(200) 评论(0) 推荐(0) 编辑