![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
GoF23种设计模式
文章平均质量分 62
麒麟NG
whatever you do,go all out;
展开
-
GoF-设计模式概述
设计模式概述创建型模式该模式主要为我们应该怎么想办法让创建对象和使用对象分离分为:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式结构型模式该模式主要为我们怎样将我们的类和对象按照某种结构组合成一个更大的结构分为:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式行为型模式描述类和对象之间如何相互协作,完成单个的类或对象无法完成的任务分为:模板方法模式,命令模式,迭代器模式,观察者模式,中介者模式,状态模式,策略模式,职责链模式,访问者模式设计模式七大设计原则核原创 2021-05-15 20:01:59 · 154 阅读 · 0 评论 -
GoF-组合模式(一)
问题提出编写程序展示一个学院院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学院有多个系传统方案按照传统方案我们会选择创建一个学校的实体类或抽象类,让学院类继承学校,让系继承学院类但是很明显这样是有错误的传统方案问题分析1.将学院看作是学校的子类,系看作是学院的子类,实际上是站在组织大小的角度上来进行分层次的,实际情况应该是学校包含学院,学院包含系这样的关系2.实际上我们的要求是:在页面中能够展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,,在这原创 2021-05-15 17:14:35 · 187 阅读 · 0 评论 -
GoF-组合模式(二)
组合模式问题提出:传统方案解决学校院系展示(类图)传统方案我们可能会这样想:学校为一个类,学院继承学校,系继承学院。存在问题分析:将学院看作是学校的子类,系是学院的子类,是站在组织大小的角度来分层的,子类可以继承父类的所有方法,但是实际上我们的要求是:在一个页面种展示出学校的院系组成,一个学校有多个学院,一个学院有多个系,并且能够实现相应的管理操作:比如学校对学院的添加,删除,遍历等解决方案但是更好的关系是学校包含学院,学院包含系,他们之间应该是一个组合的关系,应该把学校,学院,和系都看作是原创 2021-05-15 13:14:11 · 180 阅读 · 1 评论