动机 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受者?让请求的接受者自己在运行时来处理请求,从而使两者解耦。 模式定义 使多个对象都有机会处理请求,从而避免请求的 ...
分类:
编程语言 时间:
2020-02-10 22:12:12
阅读次数:
89
反射是框架设计的灵魂 框架:半成品软件,可以在框架的基础上进行软件的开发,简化编码 反射: 将类的各个组成部分封装为其他对象,这就是反射 好处: 1、可以在程序运行中,操作这些对象。 2、可以解耦,提高程序的扩张性。 获取Class对象的方式: 1.Class.forName("全类名"):将字节码 ...
分类:
编程语言 时间:
2020-02-09 22:03:43
阅读次数:
78
一、SpringMVC Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我 ...
分类:
编程语言 时间:
2020-02-09 18:52:50
阅读次数:
82
##CSS:页面美化和布局控制 1、概述 1、概念:Cascading Style Sheets 层叠样式表 * 层叠:多个样式可以作用在同一个hrml的元素上,同时生效 2、好处:功能强大 1、功能强大 2、将内容展示和样式控制分离 * 降低耦合度。解耦 * 让分工协作更容易 * 提高开发效率 3 ...
分类:
Web程序 时间:
2020-02-09 09:47:10
阅读次数:
124
为了解耦合,使显示与逻辑分离。 我觉得是因为一般GUI的用户输入频率比较低,如果每个部分不停做轮询去获取用户输入,浪费时间 又可能比较难处理。而事件处理则是由中央的系统把输入事件派送给需要的部分。 桌面上,最广为人知的消息循环恐怕就是Windows了,WinMain 方法都是一个死循环,不断的读取并 ...
分类:
其他好文 时间:
2020-02-08 00:41:39
阅读次数:
88
动机 在某些情况下,客户代码过多地依赖对象容器复杂的内部实现结构,对象容器内部实现结构(而非抽象接口)的变化将引起客户代码的频繁变化,带来了代码难以维护、扩展的弊端。 如何将“客户代码与复杂的对象容器结构”解耦?让对象容器自己来实现自身的复杂结构,从而使得客户代码就像处理简单对象一样来处理复杂的对象 ...
分类:
编程语言 时间:
2020-02-07 12:38:35
阅读次数:
74
Spring 框架创建的目的是用来替代更加重量级的企业级 Java 技术,简化开发流程。实现了基于 POJO 轻量级和最小侵入式开发,通过依赖注入和面向接口实现了解耦。 IOC IOC 控制反转是一种重要的概念,是一种解耦的设计思想。它的主要目的是借助第三方(Spring 中的 IOC 容器)实现以 ...
分类:
编程语言 时间:
2020-02-03 22:05:44
阅读次数:
71
前言 依赖注入的好处和特点这里不讲述了,本篇文章主要介绍gin框架如何实现依赖注入,将项目解耦。 项目结构 ├── cmd 程序入口 ├── common 通用模块代码 ├── config 配置文件 ├── controller API控制器 ├── docs 数据库文件 ├── models 数 ...
分类:
其他好文 时间:
2020-02-02 23:50:29
阅读次数:
80
?个?够复杂的?程,需要尽量将功能解耦。什么叫解耦?简单来说,需要将不同的功能分开到不同的?件中,或不同的?录结构中,形成?个个模块,模块之间通过有限的接?交互,模块内部的数据变化对外部隐藏。 在 Node.js 上,这?点表现的?常不错。Node.js 实现了 CommonJS 规范,每个 JS ...
分类:
其他好文 时间:
2020-02-02 17:58:04
阅读次数:
256
模式介绍 顾名思义,责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。这种模式给予请求的类型,对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求 ...
分类:
其他好文 时间:
2020-02-01 16:48:05
阅读次数:
69