装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。我通过下面的实例来演示装饰器模式的用法。 ...
分类:
其他好文 时间:
2020-06-09 14:57:35
阅读次数:
84
前言 最近想着提升一下审计代码的能力,于是找了一些小众的CMS系统来审计一下,希望可以在审计过程中对MVC设计模式的程序有更深的理解,本文挑选了一个小众的影视管理系统LFCMS,下载地址见文末 漏洞分析 前台sql注入(一) 该处前台注入点实质上是由于程序所采用的框架漏洞所导致的,程序采用了thin ...
分类:
其他好文 时间:
2020-06-09 10:04:40
阅读次数:
78
1.三层架构 与MVC设计模式 的目标一致:都是为了解耦合,提高代码复用 区别:二者对项目理解的角度不同2.三层组成:表示层 (USL,User Show Layer;视图层) -前台:对应与MVC中的View:用于和用户交互、界面的显示 jsp js html jquery等web前端技术 代码位 ...
分类:
其他好文 时间:
2020-06-08 23:34:23
阅读次数:
65
桥接模式 1.基本介绍 桥接模式(Bridge)是指将实现与抽象放在两个不同的类层次中,是两个层次可以独立改变 该模式基于类的最小设计原则(扩展功能时尽量少的增加类),通过使用封装、聚合、继承等行为让不同的类承担不同的职责 主要特点是把抽象和行为实现分离开来,从而可以保持各部分的独立性以及对他们的功 ...
分类:
其他好文 时间:
2020-06-08 20:47:44
阅读次数:
63
1.同步模块模式 模块化:将复杂的系统分解成高内聚、低耦合的模块,使系统开发变得可控、可维护、可拓展,提高模块的复用率。 同步模块模式一SMD (Synchronous Module Definition):请求发出后,无论模块是否存在,立即执行后续的逻辑,实现模块开发中对模块的立即引用。 模块化开 ...
分类:
编程语言 时间:
2020-06-08 14:58:41
阅读次数:
76
概述 “行为变化”模式:组件构建过程中,组件行为的变化经常会导致组件本身剧烈的变化。“行为变化”模式将组件的行为和组件本身进行解耦,从而支持组件行为的变化,实现两者之间的松耦合 动机:在软件构建过程中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合——如需要对行为进行“记录、撤销 ...
分类:
其他好文 时间:
2020-06-08 13:05:33
阅读次数:
66
JavaScript 使用了基于原型模式的 OOP 实现,一直以来,其封装性都不太友好
分类:
编程语言 时间:
2020-06-08 12:27:21
阅读次数:
53
温故而知新,可以为师矣 开场小故事 “大鸟,今天我在公司写了一个窗体程序,当中有一个是‘工具箱’的窗体,问题就是我希望工具箱要么不出现,要么出现一个,可实际上我每单击菜单,实例化‘工具箱’,他就会出现一个,单击多次就会出现多个,你说怎么办?” “哈哈,显然你这个‘工具箱’类也要计划生育啊,不能让他超 ...
分类:
其他好文 时间:
2020-06-08 10:43:38
阅读次数:
59
概述 属于结构型模式 提供代理作为对象的替代品或其占位符,代理控制对原对象的访问,并可对请求在提交给对象前后进行一些处理 由于某种原因(如对象创建开销很大,某种操作需要安全控制,或者需要进程外访问等)直接访问会给使用者或者系统结构带来很多麻烦 如何在不失去透明操作对象的同时来管理 / 控制这些对象特 ...
分类:
其他好文 时间:
2020-06-08 00:42:40
阅读次数:
73