2015年9月25日

设计模式精髓—封装变化

摘要: 设计模式精髓—封装变化模式,是为了需求变动而产生,抛开需求谈模式,显得很苍白。无论是创建型模式、结构型模式还是行为型模式,归根结底都是寻找软件中可能存在的“变化”,然后利用抽象的方式对这些变化进行封装。由于抽象没有具体的实现,就代表了一种无限的可能性,使得其扩展成为了可能。创建型模式的目的就是封装对... 阅读全文

posted @ 2015-09-25 16:53 淡如清风 阅读(2084) 评论(2) 推荐(0) 编辑

开闭原则

摘要: 开闭原则(OpenClosePrinciple)定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。问题由来:在软件的生命周期内,因为变化、升级和维护等原因需要对软件原有代码进行修改时,可能会给旧代码中引入错误,也可能会使我们不得不对整个功能进行重构,并且需要原有代码经过重新测试。解决方案... 阅读全文

posted @ 2015-09-25 16:52 淡如清风 阅读(83) 评论(0) 推荐(0) 编辑

单一职责原则

摘要: 单一职责原则(SingleResponsibilityPrinciple)1)定义不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。2)问题由来类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。3... 阅读全文

posted @ 2015-09-25 16:51 淡如清风 阅读(172) 评论(0) 推荐(0) 编辑

拷贝构造函数

摘要: 拷贝构造函数拷贝构造函数一般为:类名(const类名&C);它必须的一个参数是本类型的一个引用变量默认的拷贝构造函数是浅拷贝。拷贝构造函数常出现的地方:a对象以值传递的方式传入函数参数//全局函数,传入的是对象void g_Fun(CExample C){cout<<"test"<<endl;}in... 阅读全文

posted @ 2015-09-25 16:35 淡如清风 阅读(218) 评论(0) 推荐(0) 编辑

交叉验证

摘要: 交叉验证假设函数hi即按照某个模型进行训练得到的模型函数。对于可选择的模型构成集合M,其中Mi表示一种类型的模型,比如逻辑回归、神经网络、SVM等某一种。对于训练集S将其分为两部分,70%的样本作为训练集Strain,30%的作为测试集Scv。这样我们用每个模型Mi用Strain进行训练得到假设函数... 阅读全文

posted @ 2015-09-25 16:29 淡如清风 阅读(173) 评论(0) 推荐(0) 编辑

导航