- 博客(23)
- 收藏
- 关注
原创 查询学生所选课程的SQL语句
学生表 StudentStudentidStudentidname1张三2李四3王五课程表 CourseCourseidCoursename1Java2C#3C4C++5Javascript关系表 StudentCourseStudentidCourseid1114212325题目是这样的:有学生表、课程表和关系表,查出学生所选的课程。要得出以下结果:学生所选课程张三Java,C++李四Java,C,Javascript
2010-12-03 13:51:00
3209
原创 设计模式之享元模式
<br /> 享元模式:运用共享技术有效地支持大量的细粒度对象,其实就是将对象的相同部分(内部状态)和不同部分(外部状态)分离,并共享内部状态。<br />#region 享元模式 class User { private string name; public string Name { get { return name; } } public User(
2010-11-19 14:00:00
294
原创 设计模式之中介者模式
<br /> 中介者模式:用一个中立的对象来封装一系列的对象的交互,中介者对象是各个对象不必显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。<br />#region 中介者模式 abstract class Country { protected UnitedNations mediator; public Country(UnitedNations uN) { media
2010-11-19 13:57:00
370
原创 设计模式之职责链模式
<br />职责链模式:多个接受者都有机会处理请求,这就避免了请求的发送者和接受者之间的耦合关系,将这个对象连接成一条链,并沿着这条链处理请求,只有有一个对象处理了该请求。(请求发送者提供请求,管理抽象类提供一个可以设置传递方向的方法,各个接收者继承管理抽象类并重写各自对请求的处理方法)<br /> #region 职责链模式 //请求类 class Request { public string requestType; public st
2010-11-19 13:55:00
253
原创 设计模式之命令模式
<br />命令模式:将一个请求封装成一个对象,然后可以用不同的请求对客户进行参数化,(烧烤店点菜,烤肉:服务员根据用户的需要生成一个点菜单,服务员根据点菜单的内容下达命令给烧烤师傅)<br /> #region 命令模式 class Barbecuer { public void BakeChickenAction(int num) { Console.WriteLine("{0}个鸡翅烤好了!",num);
2010-11-19 13:52:00
255
原创 设计模式之桥接模式
<br />桥接模式:当一个对象可以按照多角度去分类,并且各种分类都有可能变化时,可以采用桥接模式,将各种分类分离让他们独立变化,以减少他们之间的耦合。(各种牌子的手机游戏)<br /> #region 桥接模式 abstract class HandSetSoft { public abstract void Run(); } class HandSetGame:HandSetSoft { public overr
2010-11-19 13:51:00
272
原创 设计模式之迭代器模式
<br /> #region 迭代器模式 interface Iterator { object First(); bool MoveNext(); object CurrentItem(); } class ConcreteIterator : Iterator { private ConcreteAggregate concreteAggregate; pri
2010-11-19 13:49:00
248
原创 设计模式之组合模式
<br />组合模式:让客户可以一致的使用组合结构和单个对象<br /> #region 组合模式 abstract class Company { private string name; public string Name { get { return name; } set { name = value; } } public Com
2010-11-19 13:47:00
266
原创 设计模式之备忘录模式
<br />备忘录模式:当对象的状态需要回到前面某个状态时,可以通过备忘录模式,定义需要保存的细节的类,对需要保存的细节进行保存。这样,当需要保存的细节变化时,也不会影响到客户端<br /> #region 备忘录模式 /// <summary> /// 备忘类,需要保存的数据集合 /// </summary> class GameRoleMemento { private int atk; //攻击力 priv
2010-11-19 13:44:00
337
原创 设计模式之适配器模式
<br />适配器模式:当一个接口与另外一个接口不一致时,可以通过适配器模式将接口统一(姚明需要翻译),舍得原本不能一起工作的两个接口能够一起工作。<br /> #region 适配器模式 class 外籍中锋 { private string _name; public string Name { get { return _name; } set { _name = value;
2010-11-19 12:32:00
229
原创 设计模式之简单工厂模式
<br /> 简单工厂模式:封装了创建具体类的过程,通过工厂动态创建具体的对象,但是违背了开放封闭原则,所以必要时可以将简单工厂模式演变为反射+抽象工厂模式.<br />public class Operation { private double num1; private double num2; public double Num1 { get {
2010-11-18 13:56:00
298
原创 设计模式之策略模式
策略模式:封装了变化,在context类的内部实现业务逻辑,UI层无需知道具体的逻辑public class Operation { private double num1; private double num2; public double Num1 { get { return num1; } set {
2010-11-18 13:50:00
287
原创 设计模式之观察者模式
观察者模式:通知者定义一个委托,观察者通过将指定的方法监听到委托,以实现对观察者的更新实例: #region 观察者模式:观察者Mouse將Run方法監聽到Cat的委托Catshout,当委托被执行的时候,mouse对象将会执行Run方法 class Cat { private string name; public Cat() { } public Cat(string namestr) { this.
2010-11-17 13:59:00
247
原创 设计模式之工厂方法模式
工厂方法模式:当需求的变化需要更改简单工厂类的实现时,违背了开放-封闭原则,这时可以通过工厂方法模式,将工厂抽象,为每个具体的实体类创建对应的工厂,实现抽象的工厂接口方法public class Operation { private double num1; private double num2; public double Num1 { get { return num1;
2010-11-17 13:58:00
278
原创 设计模式之反射+抽象工厂模式
反射+抽象工厂模式:通过程序集动态创建对象实例: #region 反射+抽象工厂模式 using System.Reflection; public class Operation { private double num1; private double num2; public double Num1 { get { return num1; }
2010-11-17 13:53:00
335
原创 设计模式之装饰模式
装饰模式:通过将所有的具体类继承自同一个类,并且在具体的类中引用父类的对象,来达到任意搭配具体类中方法的执行顺序的目的(人穿衣服的例子;)实例: #region 装饰模式 class Person { private string name; public String Name { set { name = value; } get
2010-11-17 13:47:00
277
原创 设计模式之代理模式
代理模式:一个类对另外一个类的代理,可以隐藏真实的对象,通过代理类去操作,代理类和真实类实现同一个接口(A通过B向C示爱)实例: #region 代理模式 interface IShowLove { void ShowLoveToMM(); } class Pursuer:IShowLove { BeautifulGirl bGirl; public Pursuer(BeautifulGirl beautifulGirl)
2010-11-17 13:44:00
251
原创 设计模式之原型模式
当需要根据实例创建新的对象时,可以通过原型模式,继承ICloneable接口,通过MemberwiseClone()方法对对象进行复制,如果被复制的成员是值类型,会复制一个新的成员。如果是引用类型,则只是复制数据的引用,他们会指向同一个地址。实例: #region 原型模式 class Resume : ICloneable { private string name; private string sex; private string a
2010-11-17 13:42:00
274
原创 设计模式之模板方法模式
模板方法模式定义一个操作中的算法的骨架,当操作中的某些步骤的具体细节可能不同时,可以采用模板方法模式,将这些不同的细节延迟到子类中(通过虚方法在子类中重写,父类调用虚方法)(如考试试卷)。 这样,子类可以在不改变算法的骨架的情况下重定义算法的某些特定步骤。实例: #region 模板方法模式 abstract class TestPaper { private void TestQuestion1() { Console.Writ
2010-11-17 12:31:00
265
原创 设计模式之外观模式
外观模式为子系统中的一组接口提供一个一致的界面,是的子系统更容易使用,调用方不需要知道子系统的存在(股票与基金)实例: #region 外观模式 class SubSystemOne { public void ShowMyMessage() { Console.WriteLine("我是子系统一的方法ShowMyMessage"); } } class SubSystemTwo { public v
2010-11-17 12:25:00
342
原创 设计模式之建造者模式
主要是为了创建一个结构稳定的复杂的对象(游戏小人,通过建造者模式可以保证小人不会缺胳膊少腿),通过指挥者类对建造类的建造过程进行管理,保证了建造的对象结构的稳定性。 #region 建造者模式 class SmallPerson { List parts = new List(); string type; public SmallPerson(string type) { this.type = ty
2010-11-17 12:22:00
219
原创 设计模式之状态模式
当控制一个对象的状态转换的条件表达式过于复杂时,把状态的判断逻辑转移到表示不同状态的一系列类中。实例: #region 状态模式 abstract class State { public abstract void DoSomething(WorkLife wl); } class SleepState : State { public override void DoSomething(WorkLife wl) {
2010-11-17 12:17:00
206
原创 设计模式之单例模式
public class Singleton { private static Singleton singleton; private static readonly object obj = new object(); //程序运行时创建静态只读的辅助进程对象 private Singleton() { } public static Singleton GetInstence(
2010-11-11 12:29:00
266
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人