![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
设计模式
文章平均质量分 91
贪睡的蜗牛
记性不好,那就多写博客。。。。
展开
-
设计模式(合)
并且,当我们使用装饰器模式的时候,我们通常的做法是将原始对象作为一个参数传给装饰者的构造器。一个命令对象和请求的初始调用者可以有不同的生命期,换言之,最初的请求发出者可能已经不在了,而命令对象本身仍然是活动的,可以通过该命令对象去调用请求接收者,而无须关心请求调用者的存在性,可以通过请求日志文件等机制来具体实现。由于请求者与接收者之间不存在直接引用,因此请求者与接收者之间实现完全解耦,相同的请求者可以对应不同的接收者,同样,相同的接收者也可以供不同的请求者使用,两者之间具有良好的独立性。原创 2022-10-10 17:30:05 · 848 阅读 · 0 评论 -
设计模式4——结构型模型(代理、外观、适配器、装饰)
(3) 在层次化结构中,可以使用外观模式定义系统中每一层的入口,层与层之间不直接产生联系,而通过外观类建立联系,降低层之间的耦合度。(4)具体构件类与具体装饰类可以独立变化,用户可以根据需要增加新的具体构件类和具体装饰类,原有类库代码无须改变,符合“开闭原则”。(2) 想创建一个可以重复使用的类,用于与一些彼此之间没有太大关联的一些类,包括一些可能在将来引进的类一起工作。,对于客户端类而言是透明的,而且提高了适配者的复用性,同一个适配者类可以在多个不同的系统中复用。原创 2022-10-10 17:24:15 · 322 阅读 · 0 评论 -
设计模式5——行为型模型(模板、策略、命令、观察者)
一个命令对象和请求的初始调用者可以有不同的生命期,换言之,最初的请求发出者可能已经不在了,而命令对象本身仍然是活动的,可以通过该命令对象去调用请求接收者,而无须关心请求调用者的存在性,可以通过请求日志文件等机制来具体实现。由于请求者与接收者之间不存在直接引用,因此请求者与接收者之间实现完全解耦,相同的请求者可以对应不同的接收者,同样,相同的接收者也可以供不同的请求者使用,两者之间具有良好的独立性。(2)策略模式将造成系统产生很多具体策略类,任何细小的变化都将导致系统要增加一个新的具体策略类。原创 2022-10-10 16:57:32 · 676 阅读 · 0 评论 -
设计模式3——创建型模型(简单工厂、工厂、抽象工厂、单例模式)
增加新的产品等级结构麻烦,需要对原有系统进行较大的修改,甚至需要修改抽象层代码,这显然会带来较大的不便,违背了“开闭原则”。工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。工厂方法模式是简单工厂模式的衍生,解决了许多简单工厂模式的问题。,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是。(3)增加新的产品族很方便,无须修改已有系统,符合“开闭原则”。(2)增加系统中类的个数,复杂度和理解度增加。原创 2022-10-08 17:09:01 · 560 阅读 · 0 评论 -
设计模式2——面向对象设计原则
在一定的环境下,用固定套路解决问题。原创 2022-10-08 15:16:52 · 277 阅读 · 0 评论 -
设计模式1—建模、UML、用例图、类图、类之间关系的基本概念
赖另一个系统的服务时,这两个系统之间体现为依赖关系.例如生产零件的机器和零件,机器负责构造零件对象;:一个用例可以包含其他用例具有的行为,并把它包含的用例行为作为自身行为的一部分.在UML中包含关系用虚线箭头加“< >”,箭头指向被包含的用例。但是,关联关系所涉及的两个类处在同一个层次上,而聚合关系中,两个类处于不同的层次上,一个代表整体,一个代表部分。1.在UML中,泛化关系用来表示类与类,接口与接口之间的继承关系.泛化关系有时也称为”is a kind of“关系.中最常用的图.是定义其他图的基础.原创 2022-10-08 13:19:25 · 957 阅读 · 0 评论