设计与架构
文章平均质量分 73
fofo2013
这个作者很懒,什么都没留下…
展开
-
DotNet(C#)实现事件远程注册和触发
背景: 以前做过一套分布式任务管理架构来为某网站提供数据计算服务, 该网站每次数据计算可以分解为几百个小任务进行,而每个任务可能需要访问的数据量很大, 所以系统有一个管理平台,用来显示系统的运行状态,或某类计算节点的运行压力, 用户也可以在平台上执行一些管理功能,为了应对平台上频繁的功能追加,在系统核心模块 添加了事件处理模块,每当用户需要在平台添加某个功能,只需要开发对应功能的一个功能原创 2013-04-02 15:40:43 · 998 阅读 · 0 评论 -
设计模式和原则:简单工厂模式
设计模式和原则索引 using System; /// /// 简单工厂根据传入的参数生成某个对象的实例,通常可能生成的对象 /// 都有一个公共的父类 /// /// 下例: /// 系统有2个Service,工厂根据参数生成对应的Service(OrderService或ProductService) /// namespace fofo.DesignPattern.原创 2013-05-24 11:28:20 · 574 阅读 · 0 评论 -
设计模式和原则:策略模式
设计模式和原则索引 using System; /// /// 策略模式: /// 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化. /// 此模式主要用来将应用中需要变化的部分独立出来,以让系统更具有弹性 /// 重心不在算法的实现 ///原创 2013-06-02 14:28:19 · 556 阅读 · 0 评论 -
设计模式和原则索引
设计模式和原则:原则篇(一) 设计模式和原则:原则篇(二) 设计模式和原则:简单工厂模式 设计模式和原则:抽象工厂模式 设计模式和原则:策略模式 设计模式与原则:观察者模式原创 2013-05-24 11:52:41 · 521 阅读 · 0 评论 -
设计模式与原则:观察者模式
设计模式和原则索引 using System; /// /// 观察者模式: /// 观察者模式定义了一系列对象之间的一对多的依赖关系,当一个对象(Subject)状态改变时 /// 它的所有的依赖者(Observer)都会收到通知 /// 观察者模式提供了一种设计方式,让主题(Subject)和观察者(Observer)之间松耦合 ///原创 2013-06-02 16:00:40 · 591 阅读 · 0 评论 -
C#特性的应用(简易横切关注点实现)
在系统开发时,经常会有些横越多个模块的行为,使用传统的软件开发方法并不能够有效的模块化, 一般这些行为我们称为横切关注点,如日志、异常、特殊的权限检查等,这里不细讨论横切关注点这个话题, 我们用一个例子来说说特性在这个方面的使用, 假如有一个系统有很多业务服务组成,每个业务服务的访问权限只有具体服务开发人员根据 需求才能确定,而具体的用户权限情况由专门用户管理模块管理,我们用特性和反射来实原创 2013-05-13 18:12:19 · 734 阅读 · 0 评论 -
设计模式和原则:抽象工厂模式
设计模式和原则索引 using System; /// /// 抽象工厂模式是工厂模式的升级,此模式为一个产品家族提供了统一的创建接口,适用于: /// >系统有多于一个的产品族,而系统只消费其中某一产品族 /// >同属于同一个产品族的产品是在一起使用的,这一约束必须在系统的设计中体现出来 /// >系统中同类型的产品以同样的接口出现 /// /原创 2013-05-24 11:31:25 · 635 阅读 · 0 评论 -
设计模式和原则:单例模式
设计模式和原则索引 using System; /// /// Singleton模式,对象只能有一个实例,且实例由对象自身创建,外部无法实例化单例对象 /// 适用于某个对象在系统中致应该有一个实例的情况(可以控制执行的顺序) /// /// 为什么是Singleton 而不是静态类,Singleton是实例行为,可以实现实例级别上的行为(如继承) /// 而不只是静态函数的集原创 2013-05-24 12:51:56 · 473 阅读 · 0 评论 -
设计模式和原则:原则篇(一)
设计模式和原则索引 一个成功的系统源自一个良好的设计,往往应用了各种设计模式,同时满足各种设计原则。 这篇结合了别人的经验总结和自己的心得体会,未必齐全,也未必完全适应方方面面。 一、高内聚、低耦合 这是系统结构化设计的基本原则。 1.高内聚表示一个模块应该完成一系列极为相关的操作,高内聚的模块一般外部依赖都很少,这也意味着系统有较高的可维护性和可重用性。原创 2013-05-16 10:57:45 · 478 阅读 · 0 评论 -
设计模式和原则:原则篇(二)
设计模式和原则索引 二、基于接口,而不是实现编程 让类型间的依赖基于接口,来最小化类型间的依赖。在代码变化的可能性较大时,这种设计方法非常适合。 >应用接口还是抽象类?要根据具体情况判断,如果你希望接口附带一些行为,就是用抽象类,否则使用接口,DotNet不支持多重继承,使用interface则基类还有选择的余地。 接口可以是.Net中的Interface也可以是一个基类。原创 2013-05-21 16:38:31 · 479 阅读 · 0 评论