
设计模式
云烟,不再年轻
积累是一个漫长的过程,它足以可以让你写出N本书的内容
展开
-
正确使用MVP模式
目前做这个产品也有一段时间了,其中MVP模式用的非常的频繁,但是很多时候没有用对,MVP模通常是这样Model 层, IVeiw 视图接口层, View视图层, Presenter层Model层存着业务逻辑和数据处理, Presenter 则裁决如何处理用户的请求,IView 则是把Presenter和Veiw 之间进行解耦,使Presenter可以不依赖于具体的视图, View 通过Presen原创 2014-04-21 22:23:51 · 3150 阅读 · 2 评论 -
Smart Client Software Factory View之间如何通信
有了前两篇关于事件如何发布,订阅,现在就有了做View之间通信的基础。下面做一个小例子,点左边View中的按钮,随机改变右边的View的背景色。如下图,我们在shell 工程下添加两个View,一个为LeftView,一个为RightView,添加时选择建立单独的文件夹。这个Shell里面有两个Workspace,一个LeftWorkspace,一个RightWorkspace,我现在把LeftV原创 2013-09-27 15:15:37 · 2009 阅读 · 0 评论 -
Smart Client Software Factory 如何订阅事件
订阅事件的过程,和发布事件几乎一样,先是在View的Presenter中右键,出现如下窗体选择Add Event Subscription后,出现如下窗体Event Topic Name 下拉框里出现上了我上一篇定义过的事件UpdatesAvailable,但不能在同一个Presenter中既发布又订阅同样的事件,这样是没有意义的,也是不被允许的,这里我选择StatusUpdate事件,我们接下来原创 2013-09-27 10:22:43 · 1502 阅读 · 0 评论 -
Smart Client Software Factory 如何发布事件
这个过程非常简单,几乎不用自己去写代码,找到你项目中的View的Presenter,点右键会出现如下菜单选择"Add Event Publication" 就会在出现如下窗体上面Event Topic Name是为事件起一个主题名,Publication Scope是事件发布的作用域,默认为global(作用域为整个项目) ,EventArgument Type 为事件参数的类型。这里我给Even原创 2013-09-27 10:05:26 · 1644 阅读 · 0 评论 -
Smart Client Software Factory 映射业务实体到界面元素
下面做了一个例子,如下图原创 2013-09-26 17:14:50 · 1688 阅读 · 0 评论 -
Smart Client Software Factory 模块说明(下)
Infrastructure.Module这个项目在你的智能客户端程序中作为一个跨多个工程的,复合UI应用程序块模块的元素实现的容器。当你创建这个模块时,模块就被加入到配置文件目录中。那么意思就是说,当程序启动的时候,复合UI程序块会去加载 Infrastructure.Module 这个模块。当项目首次创建的时候,项目是空白的,你需要包含并修改在多个模块中使用元素的实现,比如说,一些服务。C#p翻译 2013-09-26 09:54:27 · 2098 阅读 · 0 评论 -
Smart Client Software Factory 模块说明(上)
SCSF开发活动自动导航图:创建解决方案时,自动生动的框架代码Infrastructure.Interface : 这个工程包括了event topic names, UI extension site names, command names, and workspace names,这些都是Infrastructure.Module模块的公共接口.Infrastructure.Library翻译 2013-09-25 16:01:47 · 2213 阅读 · 0 评论 -
Smart Client Software Factory 加上Hello world
好久没有搞Smart Client Software Factory了,记得上次用这个做项目是在两年前,现在又需要用到它了,再重新拾起吧。先把一个完整的创建一个新的窗体的过程做一遍,复习一下。创建项目的时候 Guidance Packages Project -> Smart Client Software Factory 2010 -> Smart Client Application解决方案原创 2013-09-18 15:14:13 · 1377 阅读 · 0 评论 -
Smart Client Software Factory "Add View (with presenter)" 等菜单不出来
今天又遇到了两年前就遇到的问题,下面的这个菜单整个都不出来了。很奇怪的是,我新建一个SCSF项目,这个菜单可以出来......网上看了看,貌似SCSF 2008的时候,这个问题就有,跟Infrastructure.Interface程序集的命名有关系,见http://www.geekswithblogs.net/Patware/archive/2010/01/06/137372.aspx但没见有人原创 2013-09-30 15:49:14 · 1570 阅读 · 1 评论 -
SCSF - Part 4 An Aside on Inversion of Control, Dependency Inversion and Dependency Injection
IntroductionIn part 3 of this series of articles I discussed dependency injection in general terms. To understand what the CAB is doing for you it’s important to have an understanding of dependency in转载 2013-10-18 14:44:28 · 1642 阅读 · 0 评论 -
SCSF - Part 5 Dependency Injection and the Composite Application Block
IntroductionIn part 1 of this series of articles I described a simple CAB application. This had three Windows Application C# projects with no references to each other. In spite of this, with some very转载 2013-10-18 14:56:03 · 1772 阅读 · 0 评论 -
SCSF - Part 6 Constructor Injection in the CAB
IntroductionPart 3 of this series of articles described the different types of dependency injection that we can use in general. These are setter injection, constructor injection and interface injectio转载 2013-10-18 15:04:43 · 1518 阅读 · 0 评论 -
从WinForm的CAB/SCSF转向WPF的Prism?
最近做的公司的这个产品应该从2010年开始做的,那时用的是基于WinForm的CAB/SCSF框架,其实WPF的Prism自2008年就在网络上出现了,不知道公司为什么没有采用.大家都知道,WPF应是可以完全取代WinForm技术的,无论是界面布局的能力,适应屏幕分辨率的能力,设计美观的能力,动画的能力,甚至是程序结构,没有一样不比WinForm强,那么CAB/SCSF框架有没有适用于WPF的对应原创 2014-02-17 10:40:30 · 4419 阅读 · 0 评论 -
SCSF - Part 3 Introduction to Dependency Injection
IntroductionThis article is actually part 3 of an introductory series of articles on Microsoft’s Composite Application Block (CAB) and Smart Client Software Factory (SCSF). However, this particular ar转载 2013-10-18 14:41:06 · 1382 阅读 · 0 评论 -
SCSF - Part 10 Commands in the CAB
IntroductionPart 9 of this series of articles discussed the Command design pattern. Commands in the CAB are a neat way of implementing this pattern. This article will examine them in some detail.Comma转载 2013-10-18 15:40:02 · 1402 阅读 · 0 评论 -
SCSF - Part 9 The Command Design Pattern
IntroductionPart 8 of this series of articles concluded our discussion of services in the CAB.系列的Part8总结了我们关于CAB里service的讨论。This article and part 10 of this series will talk about commands in the CAB.转载 2013-10-18 15:27:02 · 1318 阅读 · 0 评论 -
SCSF - Part 7 Introduction to Services in the CAB
IntroductionPart 6 of this series of articles concluded our discussion of dependency injection in the CAB.part6 总结了我们关于dependency injection 在CAB里的讨论 This article and part 8 of the series will discuss转载 2013-10-18 15:09:21 · 1344 阅读 · 0 评论 -
SCSF - Part 2 WorkItems
IntroductionIn part 1 of this article I introduced a simple example of how to use Microsoft’s Composite Application Block. To try to keep the example as simple as possible I only covered modules and s转载 2013-10-18 14:34:28 · 1400 阅读 · 0 评论 -
SCSF - Part 1 Modules and Shells
原文在此 http://richnewman.wordpress.com/intro-to-cab-toc/Filed under: .net, CAB, Composite Application Block, GUI, SCSF, Smart Client Software Factory, User Interface, beginners guide, c#, dotnet, introd转载 2013-10-18 14:31:24 · 1890 阅读 · 0 评论 -
SCSF - Part 8 Creating and Using Services in the CAB
IntroductionPart 7 of this series of articles gave us a general introduction to services in the CAB. This article will go into more detail on the various ways we can create and use such services.part7转载 2013-10-18 15:22:08 · 1513 阅读 · 0 评论 -
Smart Client Software Factory 如何使用Command
SCSF中的Command体现了设计模式中的命令模式,它把事件本身和事件的逻辑代码分离开来。下面我们在创建的View窗体之上,加上菜单(如果是ShellForm上面,应修改Infrastructure.Module工程中的ModuleController.cs),菜单的作用是,点击时在主窗体的RightWorkspace中显示一个View.首先在Model的Constant文件夹中的Command原创 2013-09-30 10:44:41 · 1679 阅读 · 0 评论 -
Smart Client Software Factory 如何使用Action Catalog
首先需要了解Action Catalog这个玩意是干嘛用的,官网上的解释为,它可以决定程序中一个业务动作是否执行。在网上看了看,它使用最多的情况是权限控制。下面看看怎么在SCSF中加入Action Catalog首先在Infrastructure.Module项目中添加一个类 MyActionCondition ,并继承IActionCondition 接口,同时引用两个命名空间using Sys原创 2013-09-29 13:59:36 · 1949 阅读 · 0 评论 -
MVP, MVC, MVVM, 傻傻分不清楚~
原文章地址:http://www.dotblogs.com.tw/regionbbs/archive/2011/09/29/compare.to.mvp.mvc.mvvm.aspx最近 MVC (Model-View-Controller) 和 MVVM (Model-View-转载 2011-10-10 10:52:24 · 4977 阅读 · 0 评论 -
MVC开发模式图解
MVC控制在C,Delphi,C++,VC,java,.NET解决方案的对应关系界面类型实现方案View视图用户界面Contral控制用户动作Mouble模块业务逻辑Link连接连接模块Data文件/数据库命令行界面[C/C++]+[文件]CMD界面控制用户选择模块调用函数连接文件函数数据文件,数据库窗口界面[C]+[数据原创 2008-10-28 09:41:00 · 1510 阅读 · 1 评论 -
什么是IOC
作者:冰云 icecloud(AT)sina.comBLOG: http://icecloud.51.net时间:2004.02.15 版权声明: 本文由冰云完成,首发于优快云,作者保留中文版权。未经许可,不得使用于任何商业用途。欢迎转载 2008-04-16 16:16:00 · 1465 阅读 · 0 评论 -
Delphi中的Wrapper设计模式
Wrapper设计模式能够把一个类的接口修改成另一个类所需要的接口,然后让本来因为接口不兼容的类能够在一起配合工作。 在 Delphi中,为了让两个类能够支持同样的接口,它们必须有同样的祖先类这样才能在其他类调用的时候实现多态性。但是有的时候我们希望两个没有关系的类 能够在一起工作,Wrapper设计模式就能够让一个类wrap部分另一个类的部分接口(当然也可以是全部,看具体的需要而定),从而能原创 2008-04-15 15:54:00 · 1256 阅读 · 0 评论 -
什么是数据持久化?
1.什么是持久化?本人找了好多文章都没有找到满意的答案,最后是从孙卫琴写的《精通Hibernate:Java对象持久化技术详解》中,看到如下的解释,感觉还是比较完整的。摘抄如下:狭义的理解: “持久化”仅仅指把域对象永久保存到数据库中;广义的理解,“持久化”包括和数据库相关的各种操作。● 保存:把域对象永久保存到数据库。● 更新:更新数据库中域对象的状态。●转载 2007-12-10 13:46:00 · 18241 阅读 · 5 评论 -
数据库的一种完全面向对象设计模式
1.1 完全面向对象和非完全面向对象 面向对象(OO)方法这个名字早已深入人心,它的科学性和合理性也已毋庸置疑。人们动辄将自己开发的软件冠以“采用面向对象方法设计”以示其先进性就是一个极好的证明。然而,一个先进的方法学必须有相应的工具支持才能实现,它的概念和方法如不落实程序实现上,就不能真正掌握它的精髓而在实践中运用。诚然,SmallTalk语言已被公认是一个面向对象语言,但是它对于开转载 2007-09-25 22:09:00 · 3385 阅读 · 1 评论 -
什么是MVC-1
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。MVC如何工作MVC是一个设计模式,它强制性的使应用程序的输原创 2007-08-08 20:28:00 · 1403 阅读 · 0 评论 -
MVC(模型-视图-控制器)
Model-View-Controller(模型-视图-控制器)版本: 1.0.1本页内容 上下文 问题转载 2007-08-08 20:34:00 · 7130 阅读 · 1 评论 -
什么是MVC-2
MVC模式 MVC模式是"Model-View-Controller"的缩写,中文翻译为"模式-视图-控制器"。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有原创 2007-08-08 20:31:00 · 1903 阅读 · 0 评论 -
Smart Client Software Factory:简单的新建一个界面并显示出来
Smart Client Software Factory:简单的新建一个界面并显示出来原创 2011-05-11 14:59:00 · 3367 阅读 · 0 评论 -
Smart Client Software Factory:扩展工具栏,加入新视图(View)
Smart Client Software Factory:扩展工具栏,加入新模块(View)原创 2011-05-11 16:01:00 · 1798 阅读 · 0 评论 -
Smart Client Software Factory:UIExtensionSites,添加MVP模式兼容的视图
Smart Client Software Factory:UIExtensionSites,添加MVP模式兼容的视图原创 2011-05-11 16:22:00 · 1514 阅读 · 0 评论 -
Smart Client Software Factory:创建登录窗口
1.新建一个bussines module LoginView2.新建一个类LoginController public class LoginController : WorkItemController { public over原创 2011-07-23 11:10:03 · 1637 阅读 · 0 评论 -
Smart Client Software Factory:创建模态窗体
Smart Client Software Factory:创建模态窗体原创 2011-07-23 10:24:23 · 1437 阅读 · 0 评论 -
Smart Client Software Factory:CAB
举例说明cab结构原创 2011-05-03 12:28:00 · 2949 阅读 · 0 评论 -
Smart Client Software Factory 2010安装条件
Smart Client Software Factory 2010安装条件原创 2011-05-03 16:28:00 · 3632 阅读 · 1 评论 -
初识Smart Client Software Factory
初识Smart Client Software Factory原创 2011-04-29 15:37:00 · 3855 阅读 · 0 评论 -
关于MVVM模式
关于MVVM模式原创 2011-04-27 13:49:00 · 1553 阅读 · 0 评论