-
很好的依赖注入详解
所属栏目:[程序设计] 日期:2020-05-27 热度:119
原帖:http://www.cnblogs.com/leoo2sk/archive/2009/06/17/di-and-ioc.html 作者: 姓名:张洋 花名:夜沨 英文名:Eric Zhang ------------------------------------------------------------ 2008年毕业于烟台大学计算机学院,获计算机科学与技术学士学位[详细]
-
having是分组后的where,是可以聚合的where。
所属栏目:[程序设计] 日期:2020-05-27 热度:171
例句: select * from ( select 序号,sum(积分) as 合计 from 礼品资料表 group by 序号 ) as a where 合计1000; select 序号,sum(积分) as 合计 from 礼品资料表 group by 序号 having sum(积分)1000; 可以看到,执行效果是一样的。 这里不探讨性能,只探讨[详细]
-
TDD:先使用你的设计而不是先实现你的设计
所属栏目:[程序设计] 日期:2020-05-27 热度:74
先使用你的设计而不是先实现你的设计----TDD TDD(Test Driven Development)测试驱动开发,这里的测试可以理解为先使用,先写测试就要求你站在代码用户的角度思考,而不是单纯的作为一个实现者;当你站在使用者的角度时,你会因为自己要使用他们,而想方设法的使自[详细]
-
UML中聚合与组合的关系
所属栏目:[程序设计] 日期:2020-05-27 热度:112
聚合和组合同样是来描述类的关系的,他们有很多相似的地方又有很多有差别的地方。 为了便于更好地理解和应用两个概念,在这里做一个简单的比较。 首先,类和类之间的关系有很多种。如关联、依赖、泛化、实现等。 而聚合和组合同属于关联关系,同时又与普通的[详细]
-
solaris下设置端口聚合
所属栏目:[程序设计] 日期:2020-05-27 热度:103
Solaris操作系统聚合操作步骤 Solaris系统提供两种方法去设置IP,分别为nwam服务和系统自带的default服务去管理Nwam默认为图形界面下网卡设置的合使用,此服务不能做为设置聚合的使用。 通过nwam服务设置IP,可能通过更改/etc/nwap/llp文件来实现,此处不举例[详细]
-
位倒置计算
所属栏目:[程序设计] 日期:2020-05-27 热度:85
以8bit为例: bit7、bit6、bit5、bit4、bit3、bit2、bit1、bit0 8位倒置计算, 既为: bit0-bit7 bit1-bit6 bit2-bit5 bit3-bit6 最终结果:bit0、bit1、bit2、bit3、bit4、bit5、bit6、bit7 第一步:相邻位交换(单bit交换) bit7-bit6 bit5-bit4 bi[详细]
-
用聚合代替继承
所属栏目:[程序设计] 日期:2020-05-27 热度:189
“用聚合来代替继承”,其实是讲,用接口的派生来特化,代替用继承来特化。(这里的特化,可以理解为子类) 接口只提供方法名,告诉调用它的对象,我能完成什么任务。当需求在变更时,我们只需修改方法体的具体实现。相比之下,普通类定义提供了方法名,而且[详细]
-
OO设计原则 — Single Responsibility Principle:OO设计的SRP单一职责原则
所属栏目:[程序设计] 日期:2020-05-27 热度:185
概要 There should never be morethan one reason for a class to change. 永远不要让一个类存在一个以上的变更理由。 如果一个类存在多个改变它的理由,就说明这个类具有多个职责,有需要重新设计该类的必要。 SRP单一职责原则的核心含义: ◇ 一个类有且仅[详细]
-
关于验收测试和单元测试
所属栏目:[程序设计] 日期:2020-05-27 热度:87
老外讲解验收测试(Acceptance Testing)和单元测试(Unit Testing)。说的很精辟!好好学习一下。 Acceptance and integration tests tell you whether your code is working and complete; unit tests tell you where its failing. If youve don[详细]
-
依赖注入及AOP简述(十)——Web开发中常用Scope简介
所属栏目:[程序设计] 日期:2020-05-27 热度:128
1.2.Web开发中常用Scope简介 这里主要介绍基于Servlet的Web开发中常用的Scope。 l第一个比较常用的就是Application级Scope,通常我们会将一些贯穿整个EAR都会用到的常量定义、通用的服务组件、类似DBConnection连接创建等比较消耗资源的组件等等放到这个Scope[详细]
-
依赖注入及AOP简述(七)——FQCN请求模式
所属栏目:[程序设计] 日期:2020-05-27 热度:161
2.2.FQCN请求模式 为了弥补纯字符串请求模式中的类型安全问题,全类名(FQCN)请求模式就应运而生了。其思想便是,在向容器请求依赖对象的时候,不是通过字符串的标识符、而是通过被请求的依赖的全类名来定位依赖。这样如果开发者误将全类名标识符写错的话,[详细]
-
依赖注入及AOP简述(六)——字符串请求模式
所属栏目:[程序设计] 日期:2020-05-27 热度:141
2.依赖注入对象的请求模式 前一节我们讨论了关于声明注入点的几种方法,这一节主要来介绍在注入点上如何定位到所需要的标识符的话题。基本上,我们可以用字符串为标识符来请求依赖对象、或者用全类名(FQCN)为标识符来请求依赖对象、或者用两者混合的模式。[详细]
-
里氏代换原则概述
所属栏目:[程序设计] 日期:2020-05-27 热度:185
4里氏代换原则(Liskov Substitution Principle, LSP) 4.1什么是里氏代换原则 里氏代换原则是由麻省理工学院(MIT)计算机科学实验室的Liskov女士,在1987年的OOPSLA大会上发表的一篇文章《Data Abstraction and Hierarchy》里面提出来的,主要阐述了有关继[详细]
-
OO设计的依赖倒置原则
所属栏目:[程序设计] 日期:2020-05-27 热度:53
Dependency Inversion Principle (DIP) - OO设计的依赖倒置原则 该文提出了依赖倒置原则的2个重要方针: A. High level modules should not depend upon low level modules. Both should depend upon abstractions. B. Abstractions should not[详细]
-
OO设计的单一职责原则
所属栏目:[程序设计] 日期:2020-05-27 热度:106
Single Responsibility Principle (SRP) - OO设计的单一职责原则 概要 There should never be more than one reason for a class to change. 永远不要让一个类存在多个改变的理由。 换句话说,如果一个类需要改变,改变它的理由永远只有一个。如果存在多个改[详细]
-
Best practices when developing
所属栏目:[程序设计] 日期:2020-05-27 热度:176
the best practice would be TDD(Test DriveDevelopment) When you want to develop a new software orprogram, no matter how tiny it is or how large it is, the following guide wontmislead you. First you mu[详细]
-
二、转换成3NF的保持函数依赖的分解
所属栏目:[程序设计] 日期:2020-05-27 热度:152
转换成3NF的保持函数依赖的分解 ================================================== 算法2: =================================================================== 例1:关系模式RU,F,其中U={C,T,H,R,S,G}, F={CS→G,C→T,[详细]
-
com原理与com内幕的聚合实现部分。
所属栏目:[程序设计] 日期:2020-05-27 热度:179
原文出自:http://www.cnblogs.com/sosopop/archive/2010/07/25/1784613.html 觉得写得很不错,转载下 可以聚合的com需要在内部实现一个代理INondelegatingUnknown接口,并在类厂创建第一个接口的时候,检查 // iid must be IID_IUnknown for aggregating[详细]
-
MICRO03:Razor: A Low-Power Pipeline Based on Circuit-Level T
所属栏目:[程序设计] 日期:2020-05-27 热度:87
Dynamic voltage scaling is widely used to reduce the power consumption, but it need to guarentee that all critical paths can run correctly.This may seem tooconservative becasue too long path only acc[详细]
-
三、转换成3NF的保持无损连接和函数依赖的分解
所属栏目:[程序设计] 日期:2020-05-27 热度:59
转换成3NF的保持无损连接和函数依赖的分解 算法3: 例2:关系模式RU,F,其中:U={C,T,H,R,S,G}, F={CS→G,C→T,TH→R,HR→C,HS→R},分解成3NF并保持无损连接和函数依赖。 解:(1) 根据上例例1,得到3NF并保持函数依赖的分解如下: σ={ R1(CSG),R2(CT),R3([详细]
-
TDD 实践之路 - TTCMS完全构建历程(DELPHI)
所属栏目:[程序设计] 日期:2020-05-27 热度:114
关键字: TTCMS (旅游运输合同管理系统), TDD(测试驱动开发), MVP(Model-View-Presenter) 开发环境: Windows 2008 Server 、SQL Server 2008 R2 开发工具:Delphi XE 单元测试构件: DUnit、PascalMock 构建总策略: Presenter First (PF) 2011年08月01[详细]
-
创建你自己的依赖注入容器Ioc Container
所属栏目:[程序设计] 日期:2020-05-27 热度:71
最近研究了Ioc,DI 以及一些开源的框架,以下根据自己的理解写一个简单的Ioc容器。我们在使用一个依赖注入容器时一般都是实现三步: 创建一个Ioc容器; 依赖关系注入,这里需要一种collection对象存储这种注入关系; 根据依赖注入获取对象的实例; 好了,接下[详细]
-
类的聚合与组合区别(uml)
所属栏目:[程序设计] 日期:2020-05-27 热度:78
1)聚合(Aggregation) 聚合所表示的类之间的关系比较松散,其中一个类的存在与否并不会影响到另一些类的存在性。举例:汽车类与车站类。 在C++代码中可以表示: class A{}; class B{A * a;}; 2)组合(Composition) 组合表示的类之间的关系则比较强烈,比如一[详细]
-
依赖、关联、聚合、组合和泛化的关系
所属栏目:[程序设计] 日期:2020-05-27 热度:133
世界是普遍联系的,因此程序世界中的类,也不可能是孤立的。UML为我们定义了它们之间的关系,就是:依赖、关联、聚合、组合还有泛化。 泛化关系比较好理解,就是表示类之间的继承关系。容易混淆的是依赖、关联、聚合和组合的关系。这里做一些甄别: 1、依赖和[详细]
-
项目管理方法SCRUM
所属栏目:[程序设计] 日期:2020-05-27 热度:165
SCRUM是敏捷开发实践中团队管理和沟通交流,辅助项目开发的一个framework.这个framework指明了大方向,细节上需要团队经验的积累和调整,以使得团队的产品开发更有效率。SCRUM和XP并不是两大门派,而是以不同的视角来看待软件开发的过程,前者侧重于管理,理[详细]