搜索到与相关的文章
编程技术

编程是一种“组合的艺术”

编程是一种“组合的艺术”——WPF实例分析金旭亮有这么一句名言——政治是一种妥协的艺术。这一规律同样适用于软件技术。就我个人的观点,软件开发在一定意义上是一种“组合的艺术”,优秀的软件工程师类似于优秀的厨师,能将一些常见的原料变成一盘色香味俱全的美味佳肴。为何说编程是一种“组合的艺术”?且让我慢慢道来。众所周知,在软件开发过程中,每名软件工程师都要掌握大量的编程知识,比如如何访问数据库,如何控制线程的推进顺序等,掌握这些知识是顺利进行开发的必要条件。然而,

系统 2019-08-29 22:21:01 2338

编程技术

关于JS中的constructor与prototype

文章摘抄至http://blog.csdn.net/niuyongjie/article/details/4810835在学习JS的面向对象过程中,一直对constructor与prototype感到很迷惑,看了一些博客与书籍,觉得自己弄明白了,现在记录如下:我们都知道,在JS中有一个function的东西。一般人们叫它函数。比如下面的代码functionPerson(name){alert(name);}Person('js');//js上面的代码中,P

系统 2019-08-29 22:10:39 2338

编程技术

合成(Composite)模式

合成模式有时又叫做部分-整体模式(Part-Whole)。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。合成模式的实现根据所实现接口的区别分为两种形式,分别称为安全模式和透明模式。透明方式作为第一种选择,在Component里面声明所有的用来管理子类对象的方法,包括add()、remove(),以及getChild()方法。这样做的好处是所有的构件类都有相同的接口。在客户端看来,树叶类对象与合

系统 2019-08-12 09:29:46 2338

各行各业

CDCHandle谨慎使用

LRESULTOnPaint(UINTuMsg,WPARAMwParam,LPARAMlParam,BOOL&bHandled){//HDChdc=(HDC)wParamCPaintDCdc(m_hWnd);DoPaint(dc);bHandled=FALSE;return0;}voidDoPaint(CPaintDC&dc){CDCHandle_dc;HDChdcDestop=::GetDC(NULL);_dc.CreateCompatibleDC(hd

系统 2019-08-12 09:27:42 2338

数据库相关

rman恢复

--建表createtablesales(product_idnumber(10),sales_datedate,sales_costnumber(10,2),statusvarchar2(20));--插数据insertintosalesvalues(1,sysdate-90,18.23,'inactive');commit;--启用rman做全库备份运行D:\autobackup\rman\backup_orcl.bat生成日志文件D:\autobac

系统 2019-08-12 01:54:37 2338

数据库相关

EF 优化

本文介绍一些改善EF代码、优化其性能的相关方法,如NoTracking,GetObjectByKey,Include等,还包括编译查询、存储模型视图以及冲突处理等内容。。lMergeOption.NoTracking当我们只需要读取某些数据而不需要删除、更新的时候,可以指定使用MergeOption.NoTracking的方式来执行只读查询(EF默认的方式是AppendOnly)。当指定使用NoTracking来进行只读查询时,与实体相关的引用实体不会被返

系统 2019-08-12 01:52:40 2338

数据库相关

进程间通信——共享内存

共享内存区域是被多个进程共享的一部分物理内存。如果多个进程都把该内存区域映射到自己的虚拟地址空间,则这些进程就都可以直接访问该共享内存区域,从而可以通过该区域进行通信。共享内存是进程间共享数据的一种最快的方法,一个进程向共享内存区域写入了数据,共享这个内存区域的所有进程就可以立刻看到其中的内容。这块共享虚拟内存的页面,出现在每一个共享该页面的进程的页表中。但是它不需要在所有进程的虚拟内存中都有相同的虚拟地址。象所有的SystemVIPC对象一样,对于共享内

系统 2019-08-12 01:52:37 2338

数据库相关

如何选择行版本的隔离级别

基于行版本控制的隔离级别通过消除读取操作的锁来改善读取并发。MicrosoftSQLServer引入了两个使用行版本控制的事务隔离级别:READ_COMMITTED_SNAPSHOT数据库选项为ON时,启用使用行版本控制的已提交读隔离的新实现。ALLOW_SNAPSHOT_ISOLATION数据库选项为ON时,启用的新的快照隔离级别。对于大多数应用程序,建议应用使用行版本控制的已提交读隔离,而不要应用快照隔离,原因如下:已提交读隔离比快照隔离占用的temp

系统 2019-08-12 01:34:03 2338

数据库相关

PetShop4.0 学习总结----数据库访问层结构分析

最近在看PetShop4.0,暂且熟悉了一些数据库层的设计。看了看,其实也不是很复杂。主要就是使用了一个工厂,以及一个IOC以来注入。我所画的类图如下(不是很标准,自己的UML水品一般。。。)其中的web.config是我自己天上去的,主要就是为了说明一下IOC的问题。其中的Model主要定义了一些实体类。IDAL提供了数据库访问层的抽象,分别有SQLDAL和OracleDAL去实现。DALFactory是一个反射工厂,通过读取配置文件中的配置,判断使用的

系统 2019-08-12 01:33:39 2338

Python

C++、Python、Rust、Scala 构建编译器的差异性究竟有多大?

【CSDN编者按】编程语言之争是开发者们热议的永恒话题,在不同语言的选择和设计决定上也都观点不一。那么在面对大型项目时该如何选择具体实现呢?本文的作者借课程项目之机,比较了Rust、Haskell、OCaml、C++、Python、Scala等语言编写的编译器差异,最终发现,这些语言在代码量和功能实现上简直千差万别!作者|TristanHume译者|弯月,责编|郭芮出品|CSDN(ID:CSDNnews)以下为译文:我在滑铁卢大学的最后一个学期选了CS44

系统 2019-09-27 17:57:00 2337