摘要:
今天需要做一个功能,倒计时5s关闭页面,或者直接点击按钮直接关闭页面。开始以为是一个很简单的功能,做的时候还是遇到问题了。 1.1 关闭页面的方法 问题是这样的:开始用的 window.close()方法关闭页面,在IE中测试没有问题。 到了谷歌发现页面并没有关闭,F12打开提示:Scripts m 阅读全文
摘要:
1.1 需求 设计一个商场打折计费的软件,可以实现打折,满300送100等优惠功能。 1.2 类图 1.3 实现 我们先把4个计算的类写出来。 View Code 在写负责创建对象和调用的CashCoxt类 View Code 最后调用的代码: View Code 1.4 总结 我们客户端的代码只用 阅读全文
摘要:
1. 单一职责原则 定义:就一个类而言,应该仅有一个引起他变化的原因。 如果一个类的职责太多,就等于把这些职责耦合到一起。一个职责的变化,可能会消弱或抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。 软件设计真正要做的许多内容就是发现职责并把职责分离 阅读全文
摘要:
1.1 定义 动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。 1.2 类图 1.3 代码 View Code 调用 View Code 1.4 总结 装饰模式就是为已有功能动态地添加更多功能的一种方式。 当我们系统需要更新功能时,给原有的类添加装饰模式,就可以给主类 阅读全文
摘要:
1.1 定义 为其他对象提供一种代理,以控制这个对象的访问。 其实就是两个类实现一个接口或抽象类,在A类中实例化B类的对象,那么A类的就能代理B类实现接口的方法。 1.2 类图 Porxy代理类中声明了RealSubject类的实例,在需要调用他们都实现的方法时,调用RealSubject实例的方法 阅读全文
摘要:
1.1 定义 简单工厂增加计算功能需要增加case语句修改工厂类。违背了开放封闭原则。 工厂方法模式:定义一个创建对象的接口,让子类决定实例化哪一个类。 1.2 类图 工厂模式:抽象出一个工厂父类,每一个功能做为一个子工厂。这时候要增加一个计算功能,要在计算类增加一个功能类,并且增加对应的工厂类。这 阅读全文
摘要:
1.原型模式用处: ·用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 ps:当我们需要创建大量相同对象的时候,就可以用原型模式大批量复制对象。和现实生活中 的复印机相似,通过一个原型(模板)批量复制相同的对象; 2.深复制与潜复制的区别: 复制需要用到MemberwiseClone 阅读全文
摘要:
1.1 定义 提供一个创建一系列相关或相互依赖对象的接口,而无需指定他们具体的类。 1.2 类图 1.3 代码实现 View Code 调用: View Code 配置文件: <appSettings> <add key="db" value="SqlServer"/> <!--<add key=" 阅读全文
摘要:
1.1 定义 定义了一种一对多的依赖关系,让多个观察者同时监听一个对象,但这个对象发生变化时,会通知所有观察者对象,使他们能够更新自己。 1.2 类图 1.3 代码 View Code 调用: View Code 1.4 总结 我们定义观察者和通知者和通知者两个抽象父类都是为了面向抽象编程,以后再增 阅读全文
摘要:
数据库和C#中均为可空类型。 这时候直接给字段赋值为null parameters[9].Value = null ; 执行的时候报错了,一大堆,总之说它少了一个参数。 用sql server profiler 工具查看执行代码 如下图: 这时候才找到原因: C#中赋值为null的字段到了数据库执行 阅读全文