手机版
热门标签
站点地图
我要投稿
广告合作
联系我们
搜 索
广告位招租
广告位招租
切换导航
首页
编程教程
编程导航
编程百科
编程问答
编程博文
编程实例
硬件设备
网络运营
软件教程
移动数码
办公软件
操作系统
人工智能
栏目导航
▸ 编程语言
▸ 前端开发
▸ 移动开发
▸ 开发工具
▸ 程序设计
▸ 行业应用
▸ CMS系统
▸ 服务器
▸ 数据库
公众号推荐
微信公众号搜
"智元新知"
关注
微信扫一扫可直接关注哦!
子栏目导航
算法
设计模式
多媒体技术
正则表达式
Elasticsearch
Flink
Hadoop
IDE
UML
Promise
Gis
编程之家
设计模式
依赖倒转原则
介绍 A:高层模块不应该依赖低层模块。两个都应该依赖抽象 B:抽象不应该依赖细节。细节应该依赖抽象 例如 在面向过程的开发时,为了使得常用代码可以复用,一般都会把这些代码写成许许多多函数程序库,这样我们在做新的项目时,去调用这些低层的函数就可以了。比如我们做的项目大多要访问数据库,所以我们把发那个为你数据库的代码写成了函数,每次做新项目时就去调用这些函数。这也就叫做高层模块依赖低层模块。 但是问题
作者:编程之家 时间:2020-09-05
依赖注入
依赖注入 1. 什么是依赖 在classA中有classB的实例,则称classA对classB有一个依赖。 public class A{ B b; public A(){ b = new B(); } } 其中类A对类B有一个依赖。 对于上述例子,会有如下问题 如果要用b = new B(int n)来实例化b,则需要修改class A的代码 如果不同的
作者:编程之家 时间:2020-09-05
Unity5.3 AssetBundleName批量赋值
Unity 5.x 的新版AssetBundle打包方式有了很大的变化,所以我写了个编辑器来批量修改资源依赖的AssetbundleName [MenuItem("AssetBundle/BuildAssetBundles")] public static void BuildAssetBundles() { string outputPath = "Assets
作者:编程之家 时间:2020-09-05
super-vlan(聚合vlan)、mux-vlan以及端口隔离(port-isolate)的特点
Super-VLAN: 实现二层隔离,三层互通; 所有的sub-VLAN的三层通信都需要通过super-vlan这个网关来实现; 大型网络中,节省了IP资源。只需配置Super-vlan地址即可实现VLAN间通信; Mux-VLAN: 实现VLAN间以及VLAN内部的用户、流量的隔离与控制 划分主VLAN,从VLAN,从VLAN包含互通型从VLAN和隔离型从VLAN 主VLAN可以与Mux V
作者:编程之家 时间:2020-09-05
设计模式六大原则1:单一职责原则
单一职责原则的核心精神是: 一个类,或者一个接口,最好只做一件事情, 当发生变化时,他只能受到单一的影响; 因为职责过多,可能引起变化的原因将会很多, 这样导致职责和功能上的依赖,将严重影响其内聚性和耦合度,混乱由此而生。 例子: 单一职责的原则在现实生活中早就实践于现代公司体制与工业生产上, 如公司的各个部门职责分明相互独立,生产流水线的某一环节只需关注上螺丝,而另一环节只做零
作者:编程之家 时间:2020-09-05
设计模式六大原则2:里氏替换原则
里氏替换原则: 核心精神: 在使用基类的的地方可以任意使用其子类,能保证子类完美替换基类; 这一精神其实是对继承机制约束规范的体现。 在父类和子类的具体实现中,严格控制继承层次中的关系特征,以保证用子类替换基类时,程序行为不发生问题,且能正常进行下去。 里氏替换原则主要发力点是继承基础上的抽象和多态,具体就是子类必须实现父类的方法,是重写; 这里要注意重写(Override)与重载
作者:编程之家 时间:2020-09-05
设计模式六大原则3:依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类
作者:编程之家 时间:2020-09-05
依赖倒转原则
3.1 依赖倒置原则的定义 依赖倒置原则(Dependence Inversion Principle,简称DIP)这个名字看着有点别扭,“依赖”还“倒置”,这到底是什么意思?依赖倒置原则的原始定义是:High level modules should not depend upon low level modules. Both should depend upon abstraction
作者:编程之家 时间:2020-09-05
依赖类型dependency type在maven中的作用
看看下面这段pom配置 ... <dependency> <groupId>xxx</groupId> <artifactId>yyy</artifactId> <type>ejb</type> </dependency> ... 这个<type>很多maven相关的资料中都未曾提及,而上网搜了一下中文资源,这些文章都把compile、runtime、test等本属于sco
作者:编程之家 时间:2020-09-05
依赖注入和控制反转
IoC——Inversion of Control 控制反转 DI——Dependency Injection 依赖注入 要想理解上面两个概念,就必须搞清楚如下的问题: 参与者都有谁? 依赖:谁依赖于谁?为什么需要依赖? 注入:谁注入于谁?到底注入什么? 控制反转:谁控制谁?控制什么?为何叫反转(有反转就应该有正转了)? 依赖注入和控
作者:编程之家 时间:2020-09-05
设计模式六大原则1:单一职责原则
定义:不要存在多于一个导致类变更的原因。 通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不
作者:编程之家 时间:2020-09-05
设计模式六大原则2:里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。
作者:编程之家 时间:2020-09-13
设计模式六大原则3:依赖倒置原则
定义: 高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与
作者:编程之家 时间:2020-09-13
函数指针&回调&循环依赖
说明 描述用函数指针、回调函数来去除循环依赖的例子。 参考资料 讨论C和C++中函数指针的一个pdf文件: http://www.newty.de/fpt/zip/e_fpt.pdf 示例 这里是C++的一个例子。 要点 类说明: CMathLib:执行某些算法(这里以加法运算为例),被其他类或函数调用;也可以理解为底层支持库。在示例中,要将这个类中的一个静态成员函数作为指针,传给其他的类(CCa
作者:编程之家 时间:2020-09-13
单一职责原则
单一职责原则 单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。 我们在编程的时候,很自然的就会给一个类加各种各样的功能,比如我们写一个窗体应用程序,一般都会生成一个From1这样的类,于是我们就把各种各样的代码,都写到这样的类当中,这就意味着,无论是任何需求的变化,都需要修改这个窗体类,这其实是很糟糕的,维护麻烦,不可能复用,缺乏灵活性。
作者:编程之家 时间:2020-09-13
TDD 的本质不是 TDD
版权声明:本文已获得作者丁辉授权,由中生代技术微信公众号转载发布。 感谢匠艺社区组织者李小波,志愿者木子李整理发布! 关于作者 丁辉 中兴通讯公司级敏捷教练和代码大全、代码设计训练营教练,12年软件开发经验,8年项目管理和流程改进经验,指导并参多个团队由传统研发模式向敏捷研发模式转型(其中超过100人的大型团队成功项目级敏捷转型5个),在敏捷导入、指导团队转型、CI、核心技术实践、自组织团队建设等
作者:编程之家 时间:2020-09-13
《Python Web开发》作者Harry Percival:TDD就是微小而渐进的改变
Harry J.W. Percival目前就职于PythonAnywhere,他在各种演讲、研讨会和开发者大会上积极推广测试驱动开发(TDD)。他在利物浦大学获得计算机科学硕士学位,在剑桥大学获得哲学硕士学位。Harry Percival著有《Python Web开发:测试驱动方法》一书,该书手把手教你从头开始开发一个真正的Web应用,并且展示使用Python完成测试驱动开发(TDD)的优势。你将
作者:编程之家 时间:2020-09-13
《Python Web开发》作者Harry Percival:TDD就是微小而渐进的改变
Harry Percival目前就职于PythonAnywhere,他在各种演讲、研讨会和开发者大会上积极推广测试驱动开发(TDD)。他在利物浦大学获得计算机科学硕士学位,在剑桥大学获得哲学硕士学位。Harry Percival著有《Python Web开发:测试驱动方法》一书,该书手把手教你从头开始开发一个真正的Web应用,并且展示使用Python完成测试驱动开发(TDD)的优势。你将学到如何在
作者:编程之家 时间:2020-09-13
【第三章】 DI 之 3.2 循环依赖 ——跟我学spring3
转自:http://sishuok.com/forum/blogPost/list/2448.html 3.2.1 什么是循环依赖 循环依赖就是循环引用,就是两个或多个Bean相互之间的持有对方,比如CircleA引用CircleB,CircleB引用CircleC,CircleC引用CircleA,则它们最终反映为一个环。此处不是循环调用,循环调用是方法之间的环调用。如图3-5所
作者:编程之家 时间:2020-09-13
谈一谈自己对依赖、关联、聚合和组合之间区别的理解
原文:http://www.open-open.com/lib/view/open1427621514639.html 文出处: 卡奴达摩的专栏 在学习面向对象设计对象关系时,依赖、关联、聚合和组合这四种关系之间区别比较容易混淆。特别是后三种,仅仅是在语义上有所区别,所谓语义就是指上下文环境、特定情景等。他们在编程语言中的体现却是基本相同的,但是基本相同并不等于完全相同,这一点在我的前一篇博文《设
作者:编程之家 时间:2020-09-13
控制反转IoC与依赖注入DI
前言 最近在学习Spring框架,它的核心就是IoC容器。要掌握Spring框架,就必须要理解控制反转的思想以及依赖注入的实现方式。下面,我们将围绕下面几个问题来探讨控制反转与依赖注入的关系以及在Spring中如何应用。 什么是控制反转? 什么是依赖注入? 它们之间有什么关系? 如何在Spring框架中应用依赖注入? 什么是控制反转 在讨论控制反转之前,我们先来看看软件系统中耦合的对象。 图1:软
作者:编程之家 时间:2020-09-13
【Jmeter】Jmeter聚合报告分析
Label:每个 JMeter 的 element(例如 HTTPRequest)都有一个 Name 属性,这里显示的就是 Name 属性的值 #Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100 Average:平均响应时间——默认情况下是单个 Request 的平均响应时间,当使用了 TransactionController 时,
作者:编程之家 时间:2020-09-13
什么是依赖注入
Spring 能有效地组织J2EE应用各层的对象。不管 是 控制层的Action对象,还是业务层的Service对象,还是持久层的DAO对象,都可在Spring的 管理下有机地协调、运行。Spring将各层的对象以松耦合的方式组织在一起,Action对象无须关心Service对象的具体实现,Service对 象无须关心持久层对象的具体实现,各层对象的调用完全面向接口。当系统需要重构时,代码的改写量
作者:编程之家 时间:2020-09-13
浅谈测试驱动开发TDD
背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、实用的软件过程开发方法。其中比较基础、关键的一个技术就是测试驱动开发(Test-Driven Development)。虽然TDD光大于极限编程,但测试驱动开发
作者:编程之家 时间:2020-09-13
【SSH网上商城】对依赖注入的理解
一提到依赖注入想到最多的就是Spring。没错,依赖注入是Spring的核心机制。依赖注入让bean与bean之间以配置文件的形式组织在一起,而不是以编码的方式耦合在一起。以前只是知道有这么个概念,今天小编详细给大家介绍一下:何为依赖注入。 1)对依赖注入的理解: 当某个Java实例(调用者)需要另一个Java实例(被调用者)时,在传统的程序设计过程中,通常由调用者来创建被调用者的
作者:编程之家 时间:2020-09-13
设计模式六大原则3:依赖倒置原则
定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象;抽象不应该依赖细节;细节应该依赖抽象。 问题由来:类A直接依赖类B,假如要将类A改为依赖类C,则必须通过修改类A的代码来达成。这种场景下,类A一般是高层模块,负责复杂的业务逻辑;类B和类C是低层模块,负责基本的原子操作;假如修改类A,会给程序带来不必要的风险。 解决方案:将类A修改为依赖接口I,类B和类C各自实现接口I,类A通过接口I间接与类
作者:编程之家 时间:2020-09-13
设计模式六大原则1:单一职责原则
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。 问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。 解决方案:遵循单一职责原则。分别建立两个类T1、T2,使T1完成职责P1功能,T2完成职责P2功能。这样,当修改类T1时,不会使职责P2发生故障风险;同理,当修改T2时,也不会
作者:编程之家 时间:2020-09-13
设计模式六大原则2:里氏替换原则
肯定有不少人跟我刚看到这项原则的时候一样,对这个原则的名字充满疑惑。其实原因就是这项原则最早是在1988年,由麻省理工学院的一位姓里的女士(Barbara Liskov)提出来的。 定义1:如果对每一个类型为 T1的对象 o1,都有类型为 T2 的对象o2,使得以 T1定义的所有程序 P 在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有发生变化,那么类型 T2 是类型 T1 的子类型。
作者:编程之家 时间:2020-09-13
宇宙最强调试器DDDData Display Debugger
Linux主流调试器是gdb,但它是纯命令行界面的,调试起来不方便,我需要更强大的力量。在试用了各种工具之后,我相信我找到了,是的没错,就是它――宇宙最强调试器――DDD。 DDD介绍 DDD全称Data Display Debugger,当我第一次见到它时,它的界面着实让我吃了一惊,如此的简陋,如此的怪异,我甚至想立刻删了它,但是当我见识到它强大的功能时,我被深深的震撼了,如此的飘逸,如此的不羁
作者:编程之家 时间:2020-09-13
控制反转与依赖注入
关于控制反转和依赖注入的文章和书籍很多,对其定义也解释的也仁者见仁,这里就不赘述了,这是本人(只代表个人观点)理解之后用通俗的例子和平淡的话词为您解释,希望对您有所帮助: 控制反转(IoC/Inverse Of Control): 调用者不再创建被调用者的实例,由spring框架实现(容器创建)所以称为控制反转。 依赖注入(DI/Dependence injection) : 容器创建好实
作者:编程之家 时间:2020-09-13
上一页
52
53
54
55
56
57
58
59
下一页
小编推荐
热门标签
更多
python
JavaScript
java
HTML
reactjs
C#
Android
CSS
Node.js
sql
r
python-3.x
MysqL
jQuery
c++
pandas
Flutter
angular
IOS
django
linux
swift
typescript
路由器
JSON
路由器设置
无线路由器
h3c
华三
华三路由器设置
华三路由器
电脑软件教程
arrays
docker
软件图文教程
C
vue.js
laravel
spring-boot
react-native