IT技术博客

IT技术博客,精选各种精华文章供您阅读,是您学习各种IT技术的博客优选之地

踏上发现之旅组合模式(Composite)

1.1.1 摘要       在软件系统设计中,我们经常会遇到整体和部分的设计问题,例如为一家架构完善的公司设计系统时,我们在系统设计过程中应该更加注重这种整体和部分的关系(总部和分部的关系),这就是我们今天要介绍的组合模式(Composite)。       组合模式(Composite)把对象

【数据库设计】“Max加一”生成主键的注意点

Sql Server数据库的主键设计有多种,比如经典的自增长,欢乐的guid,按照时间生成id(有通过程序生成的方式,还有一种也是通过数据库时间和随机数生成),按照业务模型组合生成有意义的id等等。最近项目中接触到一种模拟自增长自动编号主键的方式,即“Max加一”。 Max加一的原理看上去和自增长是相似的,表的唯一主键也设计成数字型(如bigint)的,只是把自动增长去掉了

【原创】 WinForm票据套打重定位

   项目中经常会遇到客户打印票据或证件等套打的功能需求,每次做好的打印窗体, 随着客户运行环境的不同或者打印设备参数等设置不同,都会造成最终的打印位置偏离许多。 每次都得和客户解释半天,甚至还得到现场一个一个的帮客户调试好环境,这样的事情发生了好多次,一年又一年重复着......      当第N+1个客户

40个融合大自然元素的网页设计欣赏

大自然是伟大的灵感来源,设计师们从大自然获得了很多的启发,设计出很多很有创意的网页作品。在这篇文章中,我们收集了40个融合大自然元素的精美网页设计作品分享给大家,一起欣赏。 Narhir Design Hrasti 4DesignTV Yalo.fi PixLogix PSD-To-WP Sproutbox Studio7 Designs Arbutus Photography

eclipse下配置ruby环境之不解事件

在windows下搭建完成ruby on rails的环境后,进一步准备使用eclipse作为开发ruby的ide。这样就需要Ruby Development Tools插件。使用的是Aptana的RadRails插件。          使用eclipse自带的安装插件功能,安装radRails插件。如下图: &nb

WCF 第十章 异常处理 系列文章

上一个系列主要描述如何知道你的WCF服务正在做什么以及出问题时候底层在做什么?我们不能保证WCF服务一直稳定运行,但我们可以保证在WCF出现异常时可以第一时间找到问题。本篇主要描述WCF中的异常处理方法,因为没有人敢保证复杂系统中没有任何异常,一个完整系统的异常处理系统也应该是非常强大的,WCF中的异常处理可以帮助我们在面对类似事情时更加从容一些。 [第1篇] 异常处理 软件开发中最残酷的现实是纵

在 ASP.NET 网页中显示动态生成的图片

概述 在上一篇随笔“【算法】从推箱子的解答步骤还原关卡地图”中,我给出一个控制台应用程序,将 LURD 数据转换为 XSB 数据。为了方便使用,我编写了一个 ASP.NET 网页实现从推箱子的解答步骤还原关卡地图:Sokoban: Lurd to Xsb,如下图所示: 源程序代码 首先是 lurd2xsb.aspx 源程序文件: 01: <%@ Page Lang

Expression Blend for Silverlight 超丑数据加载效果

效果图: 在线演示地址:http://www.cnwp7.net/demo/dataloading/ 在数据加载时各位是否考虑过效果,如果有需要在数据加载时显示一个加载过程的效果,那么请继续往下看(别光看哦,打开神器(Blend)照着做)。 1.打开神器-新建一个 Silverlight Application。 2.单击按钮,在 Contr

软件战争(五)别在一棵树上吊死

 最近因为腾讯入股金山,360拦截QQ管家等等消息,似乎3Q的二战又要爆发。实际上我觉得这次的战争不太可能爆发大规模的武装冲突。道理很简单,经历过一次即影响名声,又消耗资源的战争,他们都会感觉伤不起。而经过第一次的战争,剩余下来的用户已近基本上都是自己用户中的中坚力量,再打就是伤筋动骨,何况他们现在需要思考的主要问题应该不是如何再去用宣传去抢夺用户,而是用更好的服务来导向从而吸引用户去做

对WebService的一些封装技巧总结

今天早上起来,想谈谈.NET中的WebService,当然我不想讲什么是WebService,或者怎么用WebService,因为那个大家 随便Google一下前100页都能找到答案。今天我想来分享一下我在用WebService中的一些技巧(至少我认为是技巧,还有点成就感),希望能给大家以后在用WebService时一点帮助和启发吧。 一、问题诞生 -- 大部分解决方案的背后总是一些头痛的问题 很

完全详解--Silverlight 下载文件

1:假设服务器端有文件test.rar:对应的地址是:http://localhost:34270/ClientBin/test.rar:   2:Silverlight要下载这个文件的方式很简单:使用HyperLinkButton就可以了: <HyperlinkButton NavigateUri="

分享一些如何从:领域、对象、角色、职责、对象交互、场景等这些方面去分析和设计具有动态行为的领域模型的经验(附源码)

好久没有写文章了,最近比较忙,另一方面也是感觉自己在这方面没什么实质性的突破。但是今天终于感觉自己小有所成,有些可以值得和大家分享的东西,并且完成了两个可以表达自己想法的Demo。因此,趁现在有点时间,是写文章和大家分享的时候了。  首先给出这两个Demo的源代码的压缩包的下载地址,因为之前有博友说他没有装VS2010而没办法运行Demo,所以这次我分别用VS2008和VS2010实现了

领域驱动设计学习总结(二):图书借还问题

一、问题描述 1、用户从图书馆借书 2、用户把书还给图书馆 二、问题分析 1、这个业务里面有几个角色? 明面上,有用户(借书者)、图书馆、书三个。似乎只是简单的用户进图书馆-》拿书-》走人。 但是,有到图书馆借过书的人都知道,借书的流程应该是 进图书馆=》拿书=》登记=》走人。 是的,少了一个步骤,登记!!!!!!!!!!! 也就是说,在不知不觉中我们少了一个角色:图书馆管理员! 因此,业务里面的

IT 行业的创新 - 创新的迷思 (1-4)

[这是和北大同学交流的讲稿,  暑期课程-职业规划与领导力发展  课程的一部分]   Myths of innovation 创新, 创新型人才, 创新型企业, 创新型国家,  这些都是最近时髦的词汇,  我在微软亚洲研究院创新工程组工作,  看过创新的猪跑, 也吃过创新的猪肉, 在这里和同学们分享一下我的体会。  这些内容好多

如何把应用程序部署到Windows Azure中

在过去的文章中,我们已经讨论过了如何在Azure中创建一个“Hello World”应用程序。在本文中,我们主要讨论如何把应用程序部署到Windows Azure中。要在Azure中部署应用程序,有两个文件是必需的——一个包文件和一个配置文件。配置文件在CloudService1中,叫作 ServiceConfiguration.cscfg。要创

ubuntu下调试android手机,并进入手机shell终端

<吐槽>这博客编辑器,在chrome下一点都不好使,没办法排版不说,辛苦写好的内容还经常错位  既然玩android开发,就必须也得深入到系统,模拟器慢得要死,就上真机了。windows下一切都是那么小白,换到linux下就得自己动手。   查了相关资料 ,终于知道怎么弄了。 我的机型是 moto mb525 (Defy)   首先准备好一切环境

分享一个业务逻辑层的封装

在系统开发中,通常都会采用经典的三层或者四层架构。其中数据模型层通过ORM工具来生成模型代码,实现了数据库操作的CRUD方法,上层的业务层进行简单的封装,供界面层调用。但由于模型层是与数据库中的单个表对应,而很多数据模型之间是有关联和上下级关系的,如果仅仅对业务层做简单封装,作为传值和分层之用,则很可能在开发和维护中出现以下问题: 1. 上层界面在增加和修改数据时,需要维护数据之间的关联和上下级关

C++对C语言的非面向对象特性扩充(3)

今天要讲的是C++作用域运算符"::",强制类型转换的扩充,C++中相对于C中malloc和free函数的运算符new和delete,以及C++对C的一个重要扩充:引用(reference);这也是C++对C语言的非面向对象特性扩充系列的最后一节。   1.如果有两个同名变量,一个是全局的,一个是局部的,那么局部的变量在其作用域拥有较高的优先权,全局变量则被屏蔽。那如果我希望在局部变量的作用域里使

嚼着口香糖,听君一席谈——到底什么是COOKIE?

一直对COOKIE和SESSION的理解都不是很好,每每觉得很迷茫。 今天听着许卓老师,把口香糖比作COOKIE文件,几句话就把问题讲清楚了。然后,豁然开朗,然后,迫不及待地来和大家分享。 还是那句话,有什么不对,欢迎大家指正。 角色模拟: 1、服务器IIS(许老师) 2、客户机PC(我) 3、浏览器(小何同学,委屈了你了,当小三了)4、COOKIE文件(口香糖) 备注: 对于一个客户机和一个服

ICE Service使用方法简介

最近研究了一下网络通信中间件ICE的使用,粗通其皮毛,按照官方手册依葫芦画瓢写了一个程序员都喜闻乐见的“Hello World”程序,服务端和客户端均用C++开发,通讯协议使用默认的TCP。感觉ICE的大致好处有以下两点: 平台无关性。无论客户端或者服务端均可用现在流行的开发语言(C++ /JAVA/C#/php)进行开发,并且屏蔽语言差异性。现在比较流行的方式是客户端用