设计模式
文章平均质量分 66
灿爸.
10年开发经验,系统架构师.
展开
-
利用javascript实现表格数据自动从剪贴板录入
利用javascript实现表格数据自动从剪贴板录入原创 2022-10-13 13:51:46 · 863 阅读 · 0 评论 -
浅谈传统工作流引擎的设计
传统工作流引擎的设计,可以从静态结构,动态结构,耦合结构三个主要方面进行构思:1.静态结构:工作流活动持久化后的数据结构,决定了工作流引擎的驱动算法;2.动态结构:工作流引擎在内存中的对象图结构,决定了工作流引擎的驱动能力;3.耦合结构:工作流引擎和业务流的耦合方式,决定了工作流引擎的应用能力;下面就以上三个方面进行详述:1.静态结构:工作流活动持久化以后(以数据库持久化实现原创 2008-07-18 09:04:00 · 911 阅读 · 0 评论 -
利用匿名委托和动态事件注册机制实现应用程序状态监视
//目的:利用匿名委托和动态事件注册机制实现应用程序状态监视//限制:控制事件均通过CommandHelper注册// 事件注册帮助类public class CommandHelper{ public static void PerformHandler(object sender, EventArgs e) { //在此方法中实现对原创 2008-07-23 14:02:00 · 718 阅读 · 0 评论 -
完整的"登录/主窗体/用户操作激活监听/自动注销"模型
完整的"登录/主窗体/用户操作激活监听/自动注销"模型,能够实现在制定时间内用户无操作时自动注销系统,和一致的事件注册框架,可在其上进行扩展应用. //登录窗体public partial class Login : Form{ //单件模式 protected static Login instance; public static Login Cr原创 2008-07-24 14:53:00 · 1228 阅读 · 1 评论 -
边学边讲PetShop4.0 _1
PetShop4.0 基于.net3.5构建,整个解决方案由23个工程组成,各工程之间的关系如下: 图中红色虚线表示层间分隔,PetShop4.0中大量使用了F/I/C模式(工厂/接口/实现),第3层中的IDAL,IMessaging,IProfileDAL(包括第2层中的ICacheDependency)是F/I/C中的接口,Model中包含值对象的定义(仅包含属性和构造函数)。原创 2009-04-20 10:55:00 · 728 阅读 · 0 评论 -
一个简单的Aspect框架解读
using System;using System.Collections;using System.IO;using System.Reflection;using System.Security.Permissions;using System.Text.RegularExpressions;using Itabby.Product.EfficDevFramework.Library;usin原创 2009-08-21 16:32:00 · 903 阅读 · 0 评论 -
一个扩展的MVC框架,完整诠释MVC概念
本MVC框架基于C#语法实现,在传统的MVC框架中增加了一个Entity(数据实体)元素,V(视图)部分仅包含其对应的C(控制器)和E(实体,用于界面绑定)信息,M(模型)部分仅包含E(实体,用于数据传输)信息,C(控制器)包含了M(模型),V(视图)和E(实体,用于数据传输)信息,M(模型)和V(视图)之间通过C(控制器)进行耦合. 扩展框架的抽象层定义如下: public原创 2009-09-03 09:47:00 · 1630 阅读 · 0 评论 -
也说provider模式
provider设计模式的核心概念是入口程序将某个对外提供的服务接口转嫁到不同的provider去实现,而被选择的provider并不是通过继承服务接口去实现服务,而是通过另外的独立的继承途径去实现.相比接口继承实现模式,provider模式提供了更多的可扩展性和灵活性.public abstract class ProviderBase { protected strin原创 2009-09-25 14:31:00 · 5417 阅读 · 1 评论 -
ipedf平台架构分析
ipedf快速开发平台架构分析原创 2013-08-12 21:14:06 · 1590 阅读 · 0 评论 -
EJB分布处理机制和数据访问对象工厂模式解读
EJB分布处理机制:其中:BusinessDelegate:隐藏运行在远程的BusinessService;ServiceLocator:使网络结构详细信息对于BusinessDelegate是透明的;SessionFacade:提供EJB包装(SessionFacade和BusinessService运行在远程机器上);EJB DAO工厂:其中:DAOFac原创 2008-01-17 08:42:00 · 1575 阅读 · 0 评论 -
C#中的aggregation模式
public interface IController { string GetName(); } public interface IAggInterface { string GetInnerName(); } public class Aggregate:IAggInterface { public stri原创 2008-01-16 12:10:00 · 1583 阅读 · 0 评论 -
一个用C#表述的精妙的foreach模式
public class Factory { public virtual void Free() { Console.WriteLine("Factory.Free"); } public virtual void Init() {原创 2008-01-16 10:45:00 · 756 阅读 · 0 评论 -
JE22核心模式缄言
"因而,我们建议一定要避免管理实体Bean之间的关系,这是非常重要的实践经验,应该通过使用会话外观模式(请参考前面的“会话外观”)将这种关系集成到会话Bean中。 "笔者:我们不能够寄希望于通过一些实现技巧来努力保持实体Bean之间的引用关系,诸如:实体BeanA,实体BeanB和实体BeanAMapB之间存在两个一对多关系,或者BeanA包含对BeanB的一个引用,那样做只会令事情变的原创 2008-01-28 17:35:00 · 902 阅读 · 0 评论 -
J2EE中模式框架的应用
1.分析用例;在创建项目用例中,管理员创建一个项目,如下图.该项目包含如下信息:开始和结束时间,顾客名字,以及需要的技能2.确定模式;表示模式:截取过滤器:一种检测用户是否具有创建项目权限的过滤器前端控制器:一种控制器,充当产生项目创建表单的最初联系点,并且接下来处理该表单的提交.控制器把与项目创建有关的过程委托给其助手,这些助手接下来把大多数处理职责委托给业务层视图助手:该视图把显示中动态产生的原创 2008-01-30 11:59:00 · 782 阅读 · 0 评论 -
利用C#反射实现存储视图和呈现视图分离的软件架构
本文通过C#特性和反射功能,实现了数据存储和视图模型之间的一个自定义转换,实现了存储和呈现的分离,从设计模式上避免了在面向对象的开发环境中使用SQL语句直接绕过对象继承系统直接操作存储结构的做法,值得同行借鉴.所支持的视图转换包括:从数据存储ID到NAME的一个转换,从枚举值到枚举名称的一个转换,从存储对象模型到UI对象模型的一个转换.建议将存储对象定义直接从数据库定义生成(利用存储代码生成器),原创 2007-12-04 09:00:00 · 959 阅读 · 0 评论 -
从最终输出分析DundasWebChart图形组件设计要点
从最终输出分析DundasWebChart图形组件设计要点:1.GDI图形绘制算法;2.HTML图形热点区域定义;3.组件设计时支持;实例分析:一个带立体效果的饼状图效果如下:HTML代码如下:实例分析:一个带曲线的柱状图效果如下:HTML代码如下:相关资源:利用GDI+函数构造图形报表:http://blog.csdn.net/sharpnessdotnet/archive/20原创 2007-12-07 11:21:00 · 2035 阅读 · 0 评论 -
解读悲观离线锁[Flower]模式
AppSession:应用会话,构建在HttpSession之上.AppSessionManager:为AppSession实现一个管理包装.TranactionalCommand:实现Command的一个装饰,将内嵌的Command的Process调用放入一个系统原生事务调用过程中,以获得事务支持.BusinessTranactionCommand:通过StartNewBus原创 2008-03-04 11:04:00 · 1409 阅读 · 0 评论 -
VCL框架学习之:从传统WindowsAPI到面向对象的消息分派实现
/*传统Windows消息机制*///创建一个Windows窗口,在其中创建Edit控件:Function WindowProc(Window:HWnd;AMessage:UINT;Wparam:WPARAM;Lparam:LPARAM):LRESULT;stdcall;export;Begin //仅有一个窗口回调函数(即当前函数)处理所有消息(窗体消息或E原创 2007-12-17 10:50:00 · 1156 阅读 · 0 评论 -
VCL框架学习之:如何将Windows消息与控件事件挂接起来
//①从MakeObjectInstance(Method:TWndMethod):Pointer说起MakeObjectInstance(Method:TWndMethod):Pointer Begin //构造一个4096大小的内存块TInstanceBlock,如果该块已满,则创建一个新的4096大小的内存快以形成链表结构原创 2007-12-20 11:33:00 · 1808 阅读 · 0 评论 -
利用接口构建系统架构的一次实践和反思
利用接口构建系统架构的一次实践和反思:namespace MyApplication.Library{ /*架构设计版本*/ public abstract class AdapterFramework { public abstract IScheme[] LoadScheme(); public abstract void原创 2007-12-27 11:50:00 · 742 阅读 · 0 评论 -
使用Register/Notify模式在C#中实现非托管资源的统一处置
//非托管资源 class UnmanagedObject { //模拟非托管操作 public void DoUnmanagedWork() { Console.WriteLine("do unmanaged work now..."); }原创 2008-01-22 11:35:00 · 1224 阅读 · 0 评论