-
大话设计模式五:依赖倒转原则(会修电脑不会修收音机)
所属栏目:[程序设计] 日期:2020-05-22 热度:137
依赖倒转原则 抽象不应该依赖细节,细节应该依赖于抽象,针对接口编程,不要对实现编程;针对抽象编程,而不是针对细节编程 A.高层模块不应该依赖低层模块。两个都应该依赖抽象。 B.抽象不应该依赖细节。细节应该依赖抽象。 里氏代换原则: 子类型必须能够替[详细]
-
TDD测试驱动的javascript开发(3) ------ javascript的继承
所属栏目:[程序设计] 日期:2020-05-22 热度:118
说起面向对象,人们就会想到继承,常见的继承分为2种:接口继承和实现继承。接口继承只继承方法签名,实现继承则继承实际的方法。 由于函数没有签名,在ECMAScript中无法实现接口继承,只支持实现继承。 1. 原型链 1.1 原型链将作为实现继承的主要方法,基本[详细]
-
OSGi依赖管理
所属栏目:[程序设计] 日期:2020-05-22 热度:108
OSGi容器是如何能将jar文件中的一些类隐藏掉,而让另外一些类可见呢?这是因为OSGi容器使用Java类加载器来管理类的可见性,OSGi容器为每个Bundle创建不同的类加载器,因此每个Bundle能访问位于下列位置中的类: a) 位于Java启动类路径下的、所有以Java.*开头[详细]
-
减少编译时依赖的意义和一些惯用法
所属栏目:[程序设计] 日期:2020-05-22 热度:57
原文参见: GotW #7a Solution: Minimizing Compile-Time Dependencies, Part 1 2013-08-19 by Herb Sutter http://herbsutter.com/2013/08/19/gotw-7a-solution-minimizing-compile-time-dependencies-part-1/ GotW #7a[详细]
-
翻译[Code Smells]#import被滥用!如何管理文件的依赖关系?
所属栏目:[程序设计] 日期:2020-05-22 热度:202
#import被滥用!如何管理文件的依赖关系? 像所有的基于C的语言一样,Objective-C通常都是成对的:一个头文件,一个实现文件。每一个文件都可以使用#import引入其他的头文件。假如你在写#import的时候不是很care,小心自己给自己埋了一个文件依赖的定时炸弹。[详细]
-
大话设计模式三:单一职责原则(拍摄UFO)
所属栏目:[程序设计] 日期:2020-05-22 热度:141
单一职责原则:一个类应该仅有一个引起它变化的原因。软件设计需要做到职责相互分离。 如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱这个类完成其他职责的能力,牵一发而动全身。这种耦合会导致脆弱的设计,当变化发生时[详细]
-
Unity Application Block 1.0系列(5): 使用BuildUp让已存在对象实例也支持依赖注入
所属栏目:[程序设计] 日期:2020-05-22 热度:203
通过Unity容器的BuildUp方法可以让已存在的对象实例也可以支持依赖注入。 准备工作 先看一些类,下面会用到: publicclass Owner { publicstring Name { get { returnInrie ; } } publicint Age[详细]
-
依赖注入的三中实现方式--看到这个才算真正稍微理解点了
所属栏目:[程序设计] 日期:2020-05-22 热度:135
Type1 接口注入 我们常常借助接口来将调用者与实现者分离。如: public class ClassA { private InterfaceB clzB; public doSomething() { Ojbect obj = Class.forName(Config.BImplementation).newInstance(); clzB = (InterfaceB)obj; clzB.d[详细]
-
什么是领域驱动设计DDD
所属栏目:[程序设计] 日期:2020-05-22 热度:203
“领域驱动设计(Domain Driven Design)”是Eric Evans在他的经典著作《领域驱动设计——软件核心复杂性应对之道》中首次提出来的概念。这本书于2003年8月30日出版,至今刚好整整十年了。在国内的几个论坛和社区(例如JDON,JavaEye,OSChina等)那里都曾经[详细]
-
未能正确加载程序集或它的依赖项
所属栏目:[程序设计] 日期:2020-05-22 热度:84
在.net里面,你引用一个dll,运行的时候可能会出现这种情况,一般你都会正确引用,不然这都不会成为问题。 在你正确引用的前提下,仍然出现这个问题,你需要去属性里面查看一下生成的平台,这个dll或许只能在 X86下使用,这时你需要把生成目标平台改为X86。[详细]
-
未能加载文件或程序集“XXXX”或它的某一个依赖项。试图加载格式不正确的程序
所属栏目:[程序设计] 日期:2020-05-22 热度:115
解决方法: 这有可能是因为系统版本不一致导致的; 1、64位的Win7 解决方案的生成目标平台设置为x86 32位操作系统 解决方案的生成目标平台设置为AnyCPU 2、Windows 7 64位; 原因分析:操作系统是64位的,但发布的程序引用了一些32位的ddl,所以出现了兼容性[详细]
-
OOA,OOD,OOP,OOT
所属栏目:[程序设计] 日期:2020-05-22 热度:156
从c到c_plus_plus, OO面向对象,涉及到的东西还蛮多。 在找工作,在看网上的笔试题目,在看C++ primer, 发现还有很多知识点以前是没有掌握清楚的,唉,,, 需要读的书还有很多, 要在某方面成为专家还是需要花费很多功夫的, 徘徊良久,我才刚上路。。。 以[详细]
-
设计模式--6大原则--里氏置换原则
所属栏目:[程序设计] 日期:2020-05-22 热度:70
里氏置换原则(Liskov Substitution Principle),简称LSP 定义: Functions that use pointers or references to base classes must be able to use objects of derived classes without knowing it. 所有引用基类的地方必须能够透明的使用其子类对象。 也就[详细]
-
依赖,关联,组合,聚合简析
所属栏目:[程序设计] 日期:2020-05-22 热度:166
世界是普遍联系的,因此程序世界中的类,也不可能是孤立的。UML为我们定义了它们之间的关系,就是:依赖、关联、聚合、组合还有泛化。 泛化关系比较好理解,就是表示类之间的继承关系。容易混淆的是依赖、关联、聚合和组合的关系。这里做一些甄别: 1、依赖和[详细]
-
倒置一个字符串里面的单词
所属栏目:[程序设计] 日期:2020-05-22 热度:122
面试宝典上的一道题。 题目:倒置一个字符串里面的单词 例子:I am from wuhan. ------- wuhan. from am I 思路:先倒置整个字符串,然后倒置每个单词。 //倒置一个字符串中的单词#includestdio.h#includestring.h#define BUF 100void StringReverse(char* in[详细]
-
【字符串操作】13.将一句话单词进行倒置
所属栏目:[程序设计] 日期:2020-05-22 热度:177
/**将一句话的单词进行倒置,标点符号不倒换。*比如:“I am a boy.”,输出“boy. a am I”。*/#includestdio.h#includestring.h#includestdlib.h#define SIZE 100void func(char* input){int i;char temp;int begin,end;int[详细]
-
通过Guice 进行依赖项注入
所属栏目:[程序设计] 日期:2020-05-22 热度:123
构造器注入 public class FrogMan{ @Injectpublic FrogMan(Vehicle vehicle) { this.vehicle = vehicle;}} 到目前为止,我展示了 @Inject 应用于构造函数的用法。当 Guice 找到注释时,它会挑选构造函数参数,并试图为每个参数找到一个配置绑定。这称为 构造[详细]
-
从 TDD 到 BDD
所属栏目:[程序设计] 日期:2020-05-22 热度:173
转自http://www.cnblogs.com/lidaobing/archive/2010/07/18/1779987.html 最近在学 ruby, 也用了 rspec, 传统的 xUnit 是 TDD 指导思想下的产物, 而 rspec 则算是BDD(Behavior Driven Development) 影响下的产品。 TDD 和 BDD 区别究竟何在呢? 首先是思路上[详细]
-
《How to design programs》第二回
所属栏目:[程序设计] 日期:2020-05-22 热度:187
今天归纳第四章《条件表达式和函数》。 一、条件表达式 说到条件表达式,先说布尔型变量(Boolean)。Boolean也是scheme的一个基本类型。lisp在断言时,空表和nil是false,其余都是true。scheme的不同实现有所不同。在drscheme中(原先是MIT Scheme),可以直[详细]
-
复杂大系统需要对服务依赖关系进行管理
所属栏目:[程序设计] 日期:2020-05-22 热度:159
当一个系统变得越来越复杂的时候,它必然大量的依赖外部系统和内部其他系统的服务才能达成业务目标,因此,这个时候,对服务依赖进行有效的管理才能提升服务的故障容忍度,这也是大系统小做的核心思路。 那么如何进行服务依赖管理呢? 1,首先,我们需要区分[详细]
-
聚合类型结构体
所属栏目:[程序设计] 日期:2020-05-22 热度:65
聚合数据类型:包括数组和结构 区别: 1、访问成员方式: 结构成员的个成员长度不相同,所以的结构通过名字来访问. 数组中的数据类型都相同,可以通过下标或指针来访问. 2、左右值 结构是一个标量.和其他任何标量一样,当结构名在表达式中作为右值使用时,他表示存[详细]
-
类和类之间的关系(第一章)
所属栏目:[程序设计] 日期:2020-05-22 热度:115
这一块我打算分几章来跟大家分享一下 一、关联关系 在一个类A的里面,声明另一个类B的成员变量(在方法外)。 类图我就不多说了,网上有很多。 双向关联(顾客和商品的关系) 单向关联(顾客和地址的关系) 自关联(节点) 多重性关联关系(界面和按钮的关系[详细]
-
QT中UI设计方略
所属栏目:[程序设计] 日期:2020-05-22 热度:129
在近期对产品UI的更新换代中, 有一些关于嵌入式产品UI设计的体会, 在这里记录一下, 希望可以给大家一个思路. 现代的UI产品设计一般都会体现简洁, 明快, 用户体验感觉好等. 这就对UI的设计提出了比较高的要求. 1. UI design review 在UI 设计初期, 一方面是UI[详细]
-
【OSGi】OSGi依赖解析
所属栏目:[程序设计] 日期:2020-05-22 热度:81
自动解析依赖 OSGi框架执行的最重要的任务之一就是自动化管理依赖,也就是bundle依赖解析。 bundle类加载器 在执行时,每个bundle都有一个与之关联的类加载器,这个类加载器使得bundle可以获得其有权访问的所有类。当导入bundle连接到导出bundle时,导入bundl[详细]
-
HDU 3449 Consumer 依赖背包 入门题
所属栏目:[程序设计] 日期:2020-05-22 热度:110
题意:有钱sum,给出n组选择,每种选择有m个物品w,要买物品先必须买盒子,物品价格为w[i],价值p[i]。 然后给出每种选择的一些物品的价格还有价值求取得最大值。 物品依赖于盒子。 按照背包九讲的做法: 先对每组选择里的所有物品进行0-1背包处理,但背包容[详细]

浙公网安备 33038102330553号