-
用聚合代替继承
所属栏目:[程序设计] 日期: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并不是两大门派,而是以不同的视角来看待软件开发的过程,前者侧重于管理,理[详细]
-
解决rrdtool依赖问题
所属栏目:[程序设计] 日期:2020-05-27 热度:189
系统环境centos 5.5 x64位 在安装系统时安装了开发包 RRdtool最新版现在地址 http://oss.oetiker.ch/rrdtool/download.en.html 在安装RRDtool时出现好多错误 如果提示 perl-DBI这个错误,直接挂载光盘然后找到perl-DBI-1.52-2.el5.x86_64.rpm 这个包安装就OK[详细]
-
bbossgroups 框架最小依赖工程资源下载(mvc,aop,persistent,taglib,object se
所属栏目:[程序设计] 日期:2020-05-27 热度:137
bbossgroups 框架最小依赖工程(mvc,taglib,aop,persistent,object servializable) mvc-min-eclipse.zip:包含mvc,taglib,aop/ioc最小依赖eclipse工程和测试用例 persistent-min-eclipse.zip:包含persistent框架最小依赖eclipse工程和测试用例 xmlseri[详细]
-
测试驱动开发(TDD)(转载)
所属栏目:[程序设计] 日期:2020-05-27 热度:61
背景 一个高效的软件开发过程对软件开发人员来说是至关重要的,决定着开发是痛苦的挣扎,还是不断进步的喜悦。国人对软件蓝领的不屑,对繁琐冗长的传统开发过程的不耐,使大多数开发人员无所适从。最近兴起的一些软件开发过程相关的技术,提供一些比较高效、[详细]
-
关于端口聚合或端口聚合称呼的误区
所属栏目:[程序设计] 日期:2020-05-27 热度:60
关于端口聚合或端口聚合称呼的误区 经常有网友问我端口聚合是指链路聚合还是VLAN trunking啊?为什么老师给他们讲的都是这个名称呢,是老师讲错了,还是书上有错。 我学网络这么久了,也一直实际使用中在把这两个词混用,其实这完全不是一回事。 我在百度上查[详细]
-
.NET设计规范(四) 成员设计
所属栏目:[程序设计] 日期:2020-05-27 热度:76
第4章 成员设计 4.1. 成员设计的一般规范 4.1.1. 成员重载 成员重载是指在同一个类型中创建两个或两个以上的成员,这些成员具有相同的名字,唯一不同的是参数的数量或参数的类型。因为只有方法、构造函数以及索引属性有参数,所以只有这些成员可以被重载。 ü[详细]
-
《Spring技术内幕》学习笔记5——IoC容器的依赖注入
所属栏目:[程序设计] 日期:2020-05-27 热度:95
1.当Spring IoC容器完成了Bean定义资源的定位、载入和解析注册以后,IoC容器中已经管理类Bean定义的相关数据,但是此时IoC容器还没有对所管理的Bean进行依赖注入,依赖注入在以下两种情况发生: (1).用户第一次通过getBean方法向IoC容索要Bean时,IoC容器触[详细]

浙公网安备 33038102330553号