摘要: ///brige设计模式///解决层次之间的依赖关系namespace C{ public abstract class AddressBook { public abstract void Add(); public abstract void Find(); public abstract void Delete(); } /// /// 品牌M的通讯录 /// public class AddressBookM:AddressBook { public override void ... 阅读全文
posted @ 2013-09-05 10:58 viola 阅读(295) 评论(0) 推荐(0) 编辑
摘要: /// /// 组合设计模式的基类。 /// abstract class BaseElement { public abstract void Add(BaseElement e) { } public abstract void Remove(BaseElement e) { } public abstract void Duty() { } } /// /// 字符 /// public class CharElement:BaseElement { public... 阅读全文
posted @ 2013-08-31 15:42 viola 阅读(194) 评论(0) 推荐(0) 编辑
摘要: ----vesion:1----author:viola----date:08.29--Sql server 2008获取树形结构的完整的路径.--输入参数:某个叶子节点的id--输出:从叶子节点到根节点的id集合。---IF object_id('','U')is not null drop TABLE [Directory]CREATE TABLE [dbo].[Directory]( [cBizDirId] [nvarchar](50) NOT NULL, [cSupDirId] [nvarchar](50) NULL )DECLARE @r nvarch 阅读全文
posted @ 2013-08-29 15:38 viola 阅读(995) 评论(0) 推荐(0) 编辑
摘要: /// /// 建造者模式:的基类。 /// 它要求建造过程必须是稳定的。这是与装饰模式的区别 /// abstract class Builder { public abstract void BuilderPartA(); public abstract void BuilderPartB(); public abstract Product GetResult(); } /// /// 具体的建造者 /// class ConcreteBuilder : Builder ... 阅读全文
posted @ 2013-08-26 11:26 viola 阅读(138) 评论(0) 推荐(0) 编辑
摘要: /// /// 装饰模式的基类 /// public class Person { private string name; /// /// 子类使用无参构造函数,所以父类必须有这个构造函数 /// 构造函数的调用顺序是从父类开始,然后调用子类 /// public Person() { } public Person(string n) { name = n; } ///... 阅读全文
posted @ 2013-08-23 14:23 viola 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 小数的分数表示/// /// 获取小数的分数表示 /// /// 小数不循环部分 /// 小数循环部分 /// public static string Formula(int decimalPart,int loopPart) { int u = decimalPart * ((int)Math.Pow(10,loopPart.ToString().Length) - 1) + loopPart; int d = ((int)Math.Pow(1... 阅读全文
posted @ 2013-07-31 15:39 viola 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 观察者模式观察值模式:一方发送通知,一个接受通知。接受通知的一方称作观察值,发送通知的一方叫做目标(subject)。如警察埋伏小偷。小偷就是目标,他每次一露头,就会被警察发现。这样就需要警察事先知道那个人是小偷。interface ISubject { void Add(IObserver observer); void Delete(IObserver observer); void Notify(); string State { get; set; } } interface IObserver { ... 阅读全文
posted @ 2013-07-11 11:12 viola 阅读(217) 评论(0) 推荐(0) 编辑
摘要: 职责链模式:让多个同族对象连接成一个有先后关系的链。然后根据自己条件决定是否处理请求,否则把请求按着链冒泡,只到有对象它为止。例如:我的电脑坏了,我只认识it维修部门,我就给他电话处理。他收到我的请求后,看看事情的难易程度决定怎么处理。 interface IChain { void HandleRequest(Level l); } enum Level { low, middle, high } class Manager:IChain { IChain pre; ... 阅读全文
posted @ 2013-06-25 10:54 viola 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。首先,模态窗口会阻塞线程的,等它响应完毕后才继续执行线程。它到底是只会阻塞主线程,还是其他的线程也可以,先做个试验。SaveFileDialog sfd = new SaveFileDialog(); sfd.ShowDialog(); Thread thread = new Thread(() => { SaveFileDialog sfd22 = new SaveFileDialog(); sfd22.ShowDialog(); }); 阅读全文
posted @ 2013-06-17 19:19 viola 阅读(663) 评论(0) 推荐(0) 编辑
摘要: /// <summary> /// 动态规划的思想,计算斐波那契数列。只计算到第5个数 /// </summary> public class MyFib { //记录已经计算过的数 int[] m = new int[5]; bool[] bn = new bool[5]; public MyFib() { m[0]=m[1]=1; bn[0]=bn[1]=true; } public int F(int t) {... 阅读全文
posted @ 2013-06-17 10:12 viola 阅读(201) 评论(0) 推荐(0) 编辑