随笔分类 -  03.架构设计

系统架构设计
摘要:我们的系统有附件功能,在下载附件时,有时会下载多个附件,系统采用了把多个附件一起打包成zip文件下载的方式,这样下载过来是个压缩包,客户最近提出,他们不会解压缩这个压缩包,或者客户机器上根本就没有安装压缩软件,客户感觉使用起来很不方便(没办法,这种需求也真够空前的),好吧,谁让上帝开口了呢,一个字“做”。 阅读全文
posted @ 2013-01-04 15:20 herobeast 阅读(1365) 评论(0) 推荐(0)
摘要:写在前面 其实在09年就已经学习过Linq了,并被她那优美的语法所吸引,只是现在所在的公司还在使用VS2005在.Net2.0的框架下面的开发,所以Linq也很久没有用过了,最近看部门的同事对这个有些兴趣,所以打算整理点东西出来跟大家一起做个分享。 什么是Linq LINQ是Language Integrated Query的简称,它是集成在.NET编程语言中的一种特性。已成为编程语言的一个组成部... 阅读全文
posted @ 2011-08-03 11:33 herobeast 阅读(296) 评论(0) 推荐(0)
摘要:这段时间为跟踪一个Bug而焦头烂额,最后发现是Framework的问题,这让人多少有些绝望。所以到微软论坛提了个帖子,希望能得到些帮助。虽然论坛智能到能够判断楼主是否是MSDN订阅用户,以便尽快解决(传说MSDN订阅用户的问题能在两天内得到回复的,当时还很得意公司为我们购买的MSDN订阅账号),但得到的回复是“Could you file a bug report for this issue t... 阅读全文
posted @ 2011-08-03 11:06 herobeast 阅读(244) 评论(0) 推荐(0)
摘要:最近雷镇同学将Martin Fowler先生的著名论文《持续集成》第二版翻译成中文并发布出来,掀起了国内对于持续集成理论和实践讨论的新的高潮。笔者在本文中将全面对比持续集成论文前后两版的异同,分析并展示ThoughtWorks在持续集成领域的理论和实践方面的研究成果,以图对国内企业实施持续集成起到参考和借鉴作用。需要说明的是,本文所介绍的内容毕竟限于笔者的水平,并且主要是ThoughtWorks... 阅读全文
posted @ 2011-08-03 09:05 herobeast 阅读(360) 评论(0) 推荐(0)
摘要:当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来! 最初来自:sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改动,只是进行了一些排版和整理。 参考文献:http://www.fsf.org/licensing/licenses/ 现今存在的开源协议... 阅读全文
posted @ 2011-08-01 17:30 herobeast 阅读(271) 评论(0) 推荐(0)
摘要:思路:前15位是有时间串组成,后三位是由3位随机数组成:yyyyMMddHHmmssf+xxx生成随机数的类如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Diagnostics;using System.Collections;namespace WindowsFormsApplication5{public class IDTest{private static readonly object SequenceLock = new object 阅读全文
posted @ 2011-07-29 23:23 herobeast 阅读(4229) 评论(1) 推荐(0)
摘要:相信很多开发者都用过WebService来实现程序的面向服务,本文主要介绍WebService的身份识别实现方式,当然本文会提供一个不是很完善的例子,权当抱砖引玉了. 首先我们来介绍webservice下的两种验证方式, 一.通过集成windows身份验证 通过集成windows方式解决webservice的安全问题是一个很简洁,并且行之有效的解决方案,该方案的优点是比较安全,性能较好,当然因为与... 阅读全文
posted @ 2011-03-23 09:56 herobeast 阅读(627) 评论(0) 推荐(0)
摘要:UML的模式和使用方法 UML的3种使用方法为草稿模式、蓝本模式和编程语言。 用例图 1.图表标记 用例图中主要元素包括以下几种 系统 参与者 用例 关系 参与者和用例之间可以使用线段连接起来,这条连接线表示一个关系,关系分为如下几种: 连接参与者和用例 连接两个参与者 连接两个用例 这种关系分为3种:包含、扩展和泛化 泛化关系 泛化关系是一种参与者和用例之间的关系,是通过一条不带箭头的直线表示。如上图中参与者Customer和用例Retrieve Orders之间的一个泛化关系。 泛化关系表示相连的两个部分之间存在着某种程度的交互。当然根据当前的上下文一般都可以找到关系中的主动和被动一方 阅读全文
posted @ 2011-02-15 16:34 herobeast 阅读(652) 评论(0) 推荐(0)
摘要:当代架构师和架构 项目干系人 项目干系人的定义是所有对创建系统感兴趣或关注的人,包括系统的创建者(架构师、开发人员和测试人员)以及产品接受方、最终用户、 分析师、审计人员和首席信息官(CIO)等 软件架构的关键点是软件应该符合干系人的期待,该期待可以分为功能性需求和非功能需求性两种,以及诸如安全性、可测试性、性能、可靠性和可扩展性等其他方面。 上图中每个连接表示一个动作,并影响到连接结束的目标。 例如系统(System)将满足一个或多个任务(Mission);环境(Environment,即上下文)将影响整个系统;一个关注点(Concern)对一个或多个项目干系人(Stakeholder)来说 阅读全文
posted @ 2011-02-15 13:44 herobeast 阅读(1869) 评论(0) 推荐(1)
摘要:前言 常用名词解释 简称 备注 ANSI 美国国家标准学会(American National Standards Institute) IEEE 电气和电子工程师学会(Institute of Electrical and Electronics Engineers) UML 统一模型语言(Unified Modeling Language) IEC 国际电工委员会(International Electrotechnical Commisson) CIO 首席信息官(Chief Information Officer) CEO 首席执行官(Chief Executive Officer) 阅读全文
posted @ 2011-02-15 10:48 herobeast 阅读(936) 评论(0) 推荐(0)
摘要:在前面的企业库学习之路里我分别使用了Data Access构建多数据库访问和使用Exception Handle+Logging记录系统的异常。今天我来介绍下企业库中的Caching模块在本项目中如何应用。 首先先补习下企业库的Caching Application Block的相关知识: 1、四大缓存方式,在Caching Application Block中,主要提供以下四种保存缓存数据的途径,分别是:内存存储(默认)、独立存储(Isolated Storage)、数据库存储(DataBase Cache Storage)和自定义存储(Custom Cache Storage)。 2、多种 阅读全文
posted @ 2010-12-27 10:16 herobeast 阅读(485) 评论(0) 推荐(0)
摘要:DevCache为MadAdmin开发平台的缓存组件,暂时包括文件缓存,内存缓存,MemCached,Redis四部分,代码都比较简单,有问题可自行修改源码解决。详细API请参照源码,注意事项如下: 1.每种缓存都有自己的一些特殊配置参数。 2.由于每种缓存都有自己的特色,而在之前的项目中也是多种缓存配合使用,所以并没有提取公共接口出来。 3.以后可能会加入Tokoy Tyrant支持。 4.在缓存设置中建议设置KeyPrefix参数,建议形式为:“唯一项目标识.版本号.”,需要清除缓存时,版本号加1即可。 5.开发期间有时需要看到即时效果,可设置IsCache=”false”,使缓存失效。/ 阅读全文
posted @ 2010-12-22 09:30 herobeast 阅读(731) 评论(0) 推荐(0)