一、前言 在编程中,依赖注入是一种实现控制反转且用于解决依赖性问题的设计模式。一个依赖关系指的是可被利用的一种对象 。依赖注入是将所依赖的传递给将要使用的从属对象。该服务将会变成客户端状态的一部分并传递服务给客户端,而不允许客户端来建立或寻找服务。依赖注入使我们的编程代码变得松散耦合,易于管理。 A ...
最近在利用C# WinForm进行项目编码的时候发现,如果不恰当的使用Partial关键字或者是User Control,会导致逻辑代码和UI代码耦合度过高,往往会造成一个页面下面会有将近2000行代码……这,当然不是我所要看到的,我急需要一种模式能够将代码分散,并且最好做到逻辑和UI的分离。找来找 ...
回顾:创建对象 对象创建的过程中有很多耦合性代码: 构造函数的意义就是减少耦合性代码:因为有些对象具有相同的属性 构造函数是用来创建对象,并给对象添加属性以及属性值 令属性名与属性值一致。 构造函数内:1.先声明空对象 2.添加对象属性一级属性值 3.返回对象 外部:分别传不同属性调用,用不同变量接 ...
分类:
其他好文 时间:
2020-04-21 12:39:08
阅读次数:
57
1 面向对象(OOD)的三大基本特性 封装 <1>封装:就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象进行操作,对不可信的数据或者方法进行隐藏。一个类就是一个封装了数据以及操作这些数据的的代码的逻辑实体,在一个对象内部,代码可以是私有的,不能被外界访问,通过这种方式, ...
分类:
其他好文 时间:
2020-04-21 09:18:52
阅读次数:
85
[设计模式]工厂模式 1. “对象创建”模式 通过“对象创建”模式绕开new,来避免对象创建(new)过程中所导致的紧耦合(依赖具体类),从而支持对象创建的稳定。他是接口抽象之后的第一步工作。 面向接口编程告诉我们,一个接口的类往往应该设计成为抽象类,而不应该声明成具体的类,如果声明具体的类则无法支 ...
分类:
其他好文 时间:
2020-04-20 21:38:09
阅读次数:
63
单一原则 单一原则:就一个类而言,应该仅有一个引起它变化的原(ASD)。 如果一个类承担的职责过多,就等于把这些职责耦合到了一起,一个职责的变化都可能会小柔或者一直这个类的完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 所以在软件设计中真正要做的许多内容,就 ...
分类:
其他好文 时间:
2020-04-20 15:35:11
阅读次数:
60
一、I/O 1. I/O操作中的设计模式 1. 以设计模式角度,自顶向下理解I/O源码结构 理解字节与字符的关系 1.1 装饰者模式(输入流为例) 1. 背景:通过继承扩展对象耦合度高,使用装饰者扩展可以在不改变现有结构的情况下,动态地给对象增加额外功能,耦合度底且灵活,一个具体对象可以有多个装饰者 ...
分类:
其他好文 时间:
2020-04-19 17:34:24
阅读次数:
67
1.定义 高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 代码要依赖于抽象的类,而不要依赖于具体的类。要针对接口或抽象类编程,不要针对具体实现类编程。 2.分析 为什么使用依赖倒置原则? 1)增加松耦合 抽象接口不改变,具体类实现接口,具体类容易扔掉,更换 ...
分类:
其他好文 时间:
2020-04-19 16:23:36
阅读次数:
67
Lua 模块与包 模块类似于一个封装库,从 Lua 5.1 开始,Lua 加入了标准的模块管理机制,可以把一些公用的代码放在一个文件里,以 API 接口的形式在其他地方调用,有利于代码的重用和降低代码耦合度。 Lua 的模块是由变量、函数等已知元素组成的 table,因此创建一个模块很简单,就是创建 ...
分类:
其他好文 时间:
2020-04-19 10:34:18
阅读次数:
64
本文转自:https://www.cnblogs.com/yubinfeng/p/4555948.html 上节我们说了面向对象的三大特性之一的封装,解决了将对同一对象所能操作的所有信息放在一起,实现统一对外调用,实现了同一对象的复用,降低了耦合。 但在实际应用中,有好多对象具有相同或者相似的属性, ...
分类:
Web程序 时间:
2020-04-18 23:20:02
阅读次数:
109