
程序设计
jiayp004
知之者不如好之者,好之者不如乐之者
展开
-
关于依赖倒置原则
在设计模式中有一个非常有名的设计原则就是依赖倒置的原则,该原则是指越底层的程序应该依赖上层定义的接口,而不是等底层程序编写好后,再进行上层程序的编写。比如在关于视频监控的程序设计中,经常会要求兼容多种类型的视频设备。一般的开发方法是,底层开发人员先进行开发,然后由上层开发人员将新设备集成到应用程序中。 如图所示:原创 2009-04-21 00:49:00 · 704 阅读 · 0 评论 -
只允许程序运行一次的代码
using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Threading;namespace RunOnce{ static class Program { ///原创 2013-02-18 14:53:13 · 632 阅读 · 0 评论 -
异步编程模型(APM,Asynchronous Programming Model)
异步编程模型(APM,Asynchronous Programming Model)优点:1. 将资源使用率降低,因为如果是同步的话,会发生阻塞而导致在线程池中启动多个线程,而CLR线程占用资源是很多的。2. 因为减少了线程,从而也减少了上下文的切换。3. 垃圾回收器的速度加快,因为,每次垃圾回收都会将进程内的所有线程挂起,线程变少,挂起和恢复的就快,垃圾回收器查找线程的栈的速度也原创 2013-02-17 10:22:27 · 1169 阅读 · 0 评论 -
OpenGIS 开发网站整理
spring:http://www.springsource.org/,http://www.springsource.com/developer/stsORACLE SPATIALFLEX/AIRGeoTools, GeoServer, GDALPostgreSQL:http://www.postgresql.org/download/windows. PostGIS:h原创 2012-01-01 19:05:48 · 960 阅读 · 0 评论 -
.net 多线程笔记
1.线程一旦结束,就无法从新开始。2.线程阻塞的时候不消耗CPU资源。在调用Sleep和Join的时候,都会阻塞线程。3.Thread.Sleep(0),交出当前的CPU时间片给其他线程。 在.net Framework 4.0中 线程的 Yield()方法,会产生同样效果,不过是把当前时间片交给运行在同一CPu的其他线程。4.线程的正确用途 4.1 保持用户界面的有效响应翻译 2011-11-29 16:54:18 · 1045 阅读 · 0 评论 -
C# 组件全屏
在WinForm环境下,可以让任意组件全屏显示,仍然需要借助于P/Invoke,如下: [DllImport("user32.dll", SetLastError = true)] static extern IntPtr SetParent(IntPtr hWnd原创 2011-07-13 16:26:31 · 1921 阅读 · 0 评论 -
怎样成为优秀的软件模型设计者
我们期待自己成为一个优秀的软件模型设计者,但是,要怎样做,又从哪里开始呢? 将下列原则应用到你的软件工程中,你会获得立杆见影的成果。 1. 人远比技术重要 你开发软件是为了供别人使用,没有人使用的软件只是没有意义的数据的集合而已。许多在软件方面很有成就的行家在他们事业的初期却表现平平,因为他们那时侯将主要精力都集中在技术上。显然,构件(components),EJB(Enterpris原创 2009-12-09 16:25:00 · 564 阅读 · 0 评论 -
c++Builder图片旋转代码
void TForm1::S_PicXZ(Graphics::TBitmap *Source,Graphics::TBitmap *NewPic,int angle)//{ if(angle>180)angle=360-angle; if(angle float radians=(2*3.14115926*angle)/360; float cosine=(float)cos(radia原创 2010-01-20 15:42:00 · 2234 阅读 · 0 评论 -
c++ Builder 内存改变问题
编写了一个地图DLL,其中有一个结构体存其定义如下:class MapLayerData{TTreeNode* m_lyrTreeNode;MapLayerInfo* m_lyrInfo;};在程序初始化的时候对一个树控件进行初始化,并为每个图层建立树节点,建立MapLayerData类对像,将树节点存放在m_lyrTreeNode中,将新建立的MapLayerData对像存放在树节点原创 2010-01-20 15:37:00 · 761 阅读 · 0 评论 -
BCD码介绍
二进制编码的十进制数,简称BCD码(Binarycoded Decimal). 这种方法是用4位二进制码的组合代表十进制数的0,1,2,3,4,5,6 ,7,8,9 十个数符。4位二进制数码有16 种组合,原则上可任选其中的10种作为代码,分别代表十进制中的0,1,2,3,4,5,6,7,8,9 这十个数符。最常用的BCD码称为8421BCD码,8.4.2.1 分别是4位二进数的位取值。 点击此转载 2009-04-30 16:03:00 · 5632 阅读 · 3 评论 -
c#中正确实现单例
方法一:class MySingleton { private MySingleton() { } private static object s_lock; private static MySingleton s_single = null; public static MySingleton Singlet转载 2013-02-18 16:58:51 · 510 阅读 · 0 评论