摘要:
组件为基础的架构风格 组建为基础的架构描述了一种设计和开发软件系统的软件工程方法。主要集中在将系统划分为单个功能或者是逻辑的组件,组件定义好用来通信的方法、事件和属性。相比面向对象设计原则来说,提供了更高层的抽象,不主要考虑通信协议和状态共享。 组件为基础的风格的关键点是组件的使用: 可重用,通常会将组件设计为在不同的应用、不同的方案中都可以使用。但是,也会设计一些专用的组件。 可替代性,... 阅读全文
随笔分类 - 04 模式架构
.NET 应用架构指导 V2 学习笔记(二) 软件架构的模式和风格
2010-05-21 06:57 by Virus-BeautyCode, 3320 阅读, 收藏, 编辑
摘要:
本节主要讨论在目前的应用中,经常使用的高层的模式和原则。通常会涉及架构风格,包括模式,例如:C/S,分层架构,组件为基础的架构,消息总线架构,SOA架构。对于每一种架构,都会从整体、主要原则、主要优点,和帮助你的应用选择合适的架构风格上讲述一些信息。描述不同类型的应用的风格很重要。例如:一些架构模式描述部署模式,一些描述结构和设计问题,另外一些描述通信因素。因此,在本章中,一个典型的应用将会组合包... 阅读全文
.NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
2010-05-20 00:34 by Virus-BeautyCode, 4061 阅读, 收藏, 编辑
摘要:
原著名称《.NET Application Architecture Guide,2nd Edition》,应该可以从微软的官网下载到,是微软的模式与实践小组的大作。Patterns & Practices在http://www.codeplex.com/上面有很多的好作品,其实.NET平台也有很好的开源项目,也有很广的选择面,只是这些不像java那么开放,.NET的开源是微软主导的。 ... 阅读全文
用微软.NET架构企业解决方案 学习笔记(三)设计原则
2010-05-19 07:09 by Virus-BeautyCode, 3084 阅读, 收藏, 编辑
摘要:
原版书名《Architecting Microsoft .NET Solutions for the Enterprise》 前言 设计软件系统是非常有挑战性的,因为一方面需要你集中在今天的需求,同时要求可以适应未来对功能的修改和增加。 尤其是在过去的二十年,在IT行业中,使得软件开发过程系统化,已经做了很多的工作。方法论,设计原则,设计模式,都是用来帮助指导架构和构建系统,以一种规范的方式... 阅读全文
关于日志模块的设计
2010-05-12 19:46 by Virus-BeautyCode, 7303 阅读, 收藏, 编辑
摘要:
目录1 使用技术以及外部框架... 12 详细描述... 12.1概况... 12.1.1记录的内容... 12.1.2日志记录的位置及相应的内容... 22.1.3日志的类型... 22.1.4日志功能的配置... 32.1.5配置节类的用法... 112.2数据库日志... 122.3文件日志... 132.3.1记录方式... 132.3.2文件日志的格式... 131 使用技术以及外部框架... 阅读全文
[Translation]Silverlight 4-MVVM with Commanding and WCF RIA Services
2010-04-09 22:26 by Virus-BeautyCode, 2221 阅读, 收藏, 编辑
摘要:
原文地址:Silverlight 4 - MVVM with Commanding and WCF RIA Services 在我的前一篇文章“WCF RIA Services and a guide to use DTO/”Presentation Model””,我提到要写一篇文章来讲述ViewModel。在这篇文章中,我将向你展示如何利用Silverlight 4 Commanding 和ViewModel来实现MVVM模式。在文章中我将使用Unity作为依赖注入框架将我的Repository注入DomainService,为了达到目的,我们需要创建自己的DomainServiceF 阅读全文
Wonderful hyperlinks of MVVM(Model-View-ViewModel)Design Pattern
2010-04-02 00:43 by Virus-BeautyCode, 1752 阅读, 收藏, 编辑
摘要:
MVVP(Model-View-ViewModel)是一种新的设计模式,主要应用于WPF/Silverlight,其实也可以说专门是为他们两个打造的模式。 主要是WPF/Silverlight提出了新的绑定模式,双向绑定,对以前winform中的databind有了长足的发展,使用双向绑定可以帮助实现验证和动态更新等自动化功能。 具体的可以参看下面的链接,我在以后的文章中也会分析它和以前的MVC,MVP模式的联系和区别。 WPF Apps With The Model-View-ViewModel Design Pattern WPF中的MVVM模式 Overview of the 阅读全文
.NET应用访问数据库之数据库的开销问题 后续篇(二)通信量和通信次数的较量
2010-03-12 11:55 by Virus-BeautyCode, 2301 阅读, 收藏, 编辑
摘要:
通信量是说一次通信传输的数据量,可以使用KB或者MB来衡量的量。通信次数是说一次打开数据库,执行数据库操作,然后返回数据(或者没有返回),算作一次通信。 今天就这个问题在MSN中和几个人进行了交流,一个是MVP,一个是在群里,一个是和一位数据库方面的高手。具体内容如下: 和MVP的交流内容,将MVP的姓名替换了。 代码Code highlighting produced by Actipro... 阅读全文
在Silverlight+WCF中应用以角色为基础的安全模式(一)基础篇之角色为基础的安全模式简介
2010-03-01 09:48 by Virus-BeautyCode, 1793 阅读, 收藏, 编辑
摘要:
引言 最近一直在研究Silverlight+WCF应用中的安全问题,如何设计一个安全,又符合Silverlight和WCF的规范的应用呢?又可以将以前的角色为基础的开发框架拿来主义呢? 我们知道WCF在安全方面提供了很多的绑定协议,可是Silverlight3+WCF的话,只有basicHttpBinding可以使用,这就使得我们的选择不多,还有就是项目本身是一个互联网应用,还是使用比较通用的... 阅读全文
软件工程之开发流程小总结
2010-02-24 15:07 by Virus-BeautyCode, 10144 阅读, 收藏, 编辑
摘要:
观看本文的讨论的开发流程的时候,有两点需要注意: 首先,流程不是狭义的流程,也就是说不是单只写代码这个过程,包括了软件工程整个流程。 其次,我所讲的这个流程不见得正确,准确的说是肯定不能适用于全部软件开发项目,也就是说不是银弹,其实说起来连大部分都涵盖不了,顶多就是一部分吧。 可行性分析 这个一般都是做战略的专家来做的,他们更加有市场的前瞻性,俗话说就是看的更远一些,搞市场分析、调研,看看我们的想法到底是否可行,可行性有多大,可能会遇到的问题,我们的优势在哪里,可以利用的资源有哪些,需要引进那些资源,有多少对手,他们都进行到了什么程度等等。 这个阶段的文档成果是:可行性分析报... 阅读全文
关于【商品计量单位以及这些计量单位换算】的设计
2010-02-22 12:23 by Virus-BeautyCode, 5800 阅读, 收藏, 编辑
摘要:
前言 大家在开发一些进销存系统的时候,肯定会遇到商品货物录入之类的需求,输入货物100吨,1000千克,进销存还简单一些,是内网应用,一个厂商不大可能又有重量单位的产品又有体积单位的产品。但是,如果是一个电子商务平台呢?上面的货物来自多个厂商,这就种类繁多了。在想一步,如果平台国际化了呢?加入国外厂商了,就会出现国际标准,甚至是一些国家的自己的标准(因为人家看的自己的标准舒服,你不能让人家都看你... 阅读全文
NHibernate学习总结:(一)NHibernate的使用和配置
2010-01-08 17:27 by Virus-BeautyCode, 7086 阅读, 收藏, 编辑
摘要:
从今天开始学习NHibernate,同时记录一些遇到的问题和学习的经验,希望对大家有一些帮助。NHibernate的具体作用之类的,我就不介绍了,直接开始它的使用。开发工具:VS2008 SP1开发环境:Win2003 、.NET 3.5 SP1、MS SQL Server 2005同时我也参考了: NHibernate之旅系列,是一个很好的教程,替作者广告一下,哈哈。http://www.cnblogs.com/lyj/archive/2008/10/15/1312089.html在数据库中新建如下图的数据库结构,数据库的名称为NHibernate,包括Customer、Order、Prod 阅读全文
关于.NET大数据量大并发量的数据连接池管理
2010-01-08 12:02 by Virus-BeautyCode, 25836 阅读, 收藏, 编辑
摘要:
首先声明,本人以前做的都是小应用,还没有设计过百万、千万数据量的应用,并发量上万的应用,很多时候都是Applicatiion Server和DB Server在一台机器,或者将DB Server分离出来,单独在一台机器。由于最近的工作需要,故产生很多疑问,想要和大家一起探讨,向大家学习,希望大家不吝赐教,感谢大家的参与。 首先提一下本文的需求来源和具体的需求。 需求的来源: 本文的需求产生于公司最... 阅读全文
Design Pattern 设计模式【观察者】
2009-11-26 09:33 by Virus-BeautyCode, 1740 阅读, 收藏, 编辑
摘要:
观察者设计模式中存在两种角色: 观察者和被观察者。 最经典的例子就是“猫叫了,老鼠跑了,惊醒了主人。”,这个例子也是我以前去微软面试的时候碰到的一个面试题,当时就是让我设计一下这个过程的实现框架。 在这个例子中,老鼠和主人其实就是观察者,而猫属于被观察者,老鼠和主人观察猫的变化,猫有了动作,老鼠和主人就要做出响应。被观察者,就是这个过程,也可以叫做整个事件的根本原因,亦可以叫直接导火索。 从上面这个例子不难看出,观察者和被观察者的关系通常是n:1,也就是多个多个观察者观察一个被观察者。 这样就给我们一个小小的提示,通过这个提示就可以很容易的找出被观察者。猫,也就是观察的内容,或者观察的 阅读全文
c#,委托,回调,事件,系列,一,
2008-06-03 22:55 by Virus-BeautyCode, 2431 阅读, 收藏, 编辑
摘要:
C#调用C++回调函数的问题C++的回调函数中有一个参数是,是返回一个字符串,原则如下: typedef void (*TDataEvent)(char *AData ,int ALen); 其中char *AData是从DLL中返回一个字符串,串的内存已经在DLL中分配了 下面中我在C#中定义的委托 public delegate void TDataEvent(Byte[] AData, int ALen); 下面是回调函数的设置代码: Event = new clReceivelDllPoxy.TDataEvent(getDate); ReceDllPoxy 阅读全文
面向构件开发SOA
2008-01-28 11:43 by Virus-BeautyCode, 563 阅读, 收藏, 编辑
摘要:
这是我这两三个星期的工作总结,做了一些调研工作之后,对工作的一点总结和认识。不知道大家有什么意见,说说吧,谢谢! 阅读全文
IOC容器
2008-01-20 17:22 by Virus-BeautyCode, 666 阅读, 收藏, 编辑
摘要:
IoC是一种模式 IoC(Inversion of Control)中文译为控制反转,目前Java社群中流行的各种轻量级容器的实现都是以IoC模式作为基础的。控制反转意味着在系统开发过程中,设计的类将交由容器去控制,而不是在类的内部去控制,类与类之间的关系将交由容器处理,一个类在需要调用另一个类时,只要调用另一个类在容器中注册的名字就可以得到这个类的实例,与传统的编程方式有了很大的不同,”不用你找,我来提供给你”,这就是控制反转的含义。 阅读全文
[原创]singleton,design pattern
2007-09-22 12:04 by Virus-BeautyCode, 360 阅读, 收藏, 编辑
摘要:
thank you for your readusing System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ //single thread public class Singleton { private static Singleton instance; private Singleton() { } public static Singleton Instance { get { if (instance == null) return new Singleto 阅读全文
[原创]关系,依赖,
2007-08-24 10:33 by Virus-BeautyCode, 478 阅读, 收藏, 编辑
摘要:
依赖 dependency通常情况下,依赖关系体现在某个类的方法使用另一个类作为参数。也可以说依赖另一个类才可以完成自己的工作。在UML中你可以在其它的事物之间使用依赖关系,特别是包和节点之间。一般化 generalization就是继承,is a ,关联 association关联是一种结构化的关系,指一种对象和另一种对象有联系。给定有关联的两个类,可以从一个类的对象得到另一个类的对象。有1对1,1对多,多对多等聚合 基本聚合有聚合关系的关联指出,某个类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父类存在更长的时间。为了表现一个聚合关系,你画一条从父类到部分类的实线,并在父类的关联 阅读全文