MVC设计模式:M:Model 模型:一个功能。用JavaBean实现V:view 视图:用于展示、以及与用户交互。使用html,js,css,jsp,jQuery等前端技术实现 C:controller 控制器:接受请求,将请求跳转到模型进行处理,再将处理的结果返回给请求处。可以用jsp实现,但是 ...
分类:
Web程序 时间:
2020-06-07 21:06:33
阅读次数:
71
六月箴言 走好选择的路,别选择好走的路,你才能拥有真正的自己。—— 杨绛 第八章 封装算法 定义模版方法模式: 1、在一个方法中定义一个算法的骨架,而将一些步骤延迟到子类中。 2、模版方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。 设计原则:好莱坞原则 别调用(打电话给)我们, ...
分类:
其他好文 时间:
2020-06-07 21:04:10
阅读次数:
60
组合模式(Composite Pattern) 组合模式:允许你将对象组合成树形结构来表现“整体/部分”层次结构。组合能让客户以一致的方式处理个别对象以及对象组合。 组合模式结构: 组合部件(Component):它是一个抽象角色,为要组合的对象提供统一的接口。 叶子(Leaf):在组合中表示子节点 ...
分类:
其他好文 时间:
2020-06-07 19:55:36
阅读次数:
76
概述 数据结构模式 常常有一些组件在内部具有特定的数据结构,如果让客户程序依赖这些特定的数据结构,将极大地破坏组件的复用 将这些特定数据模式封装在内部,对外提供统一的接口,来实现与特定数据结构无关的访问 典型模式:Composite, Iterator, Chain of Resposibility ...
分类:
其他好文 时间:
2020-06-07 19:48:00
阅读次数:
71
一般工厂模式用的比较广,在Java中尤为常见,因为相对比较简单,所以使用场景比较广泛; 例如在Springboot在整合RabbitMQ,创建EXCHANGE的代码,QUEUE的代码等都能看到。 1.一般工厂模式 1.1 基本概念 定义一个创建对象的接口,让子类决定实例化哪个类。工厂类的方法,使一个 ...
分类:
其他好文 时间:
2020-06-07 19:19:48
阅读次数:
59
先来一个生动的例子: 大众汽车的MQB平台是现在非常出名的横置发动机模块化生产平台,从这个平台上出生了许多的广为人知的汽车型号,如奥迪TT、大众Polo、高尔夫等等。抽象化思考,这些汽车都出自一个生产平台,而不是每辆车都单独占有一个平台,那么问题来了,如何让一个平台生产出多个型号的汽车呢? 我们以上 ...
分类:
其他好文 时间:
2020-06-07 16:49:28
阅读次数:
83
类之间关系(由强到弱) realize(实现):三角+实线(指向类),继承类(SUV是一种汽车) generalization(泛化):三角+虚线(指向接口),实现接口(汽车是一种车) composition(组合):实菱形+实线(指向整体),强依赖(汽车没了,发动机就没了),构造函数 aggreg ...
分类:
其他好文 时间:
2020-06-07 13:13:44
阅读次数:
79
概述 由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但新环境要求的接口是这些现存对象所不满足的 如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口? Adapter举例 将一个类的接口转换成客户希望的另一个接口,使得原本由于接口不兼 ...
分类:
其他好文 时间:
2020-06-07 12:48:50
阅读次数:
58
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。 设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了重用代码、让代码更容易被他人理解、保 ...
分类:
其他好文 时间:
2020-06-07 11:00:53
阅读次数:
76
一、缘起 变化--是软件设计的永恒主题,如何管理变化带来的复杂性? 设计模式的艺术性和复杂度就在于如何分析,并发现系统中的变化点和稳定点,并使用特定的设计方法来应对这种变化。 在软件构建过程中,对于某一项任务,它常常有稳定的整体操作结构,但各个子步骤却有很多改变的需求,或者由于固有的原因(比如框架与 ...
分类:
其他好文 时间:
2020-06-07 10:52:29
阅读次数:
63