摘要: 模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。 一、UML结构图 二、特点 通过把不变的行为搬移到基类中,去除子类中的重复代码来体现它的优势。 阅读全文
posted @ 2019-12-01 21:47 秋飘 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 原型模式:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 说白了就是实现 【IClone】接口,从而达到可以根据一个对象,快速复制出多个相同对象出来的目的。 实现的效果就是:原型模式其实就是从一个对象在创建另外一个可定制的对象,而且不需要知道任何创建的细节。 注意事项: 在克隆方法 阅读全文
posted @ 2019-12-01 21:38 秋飘 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 代理模式:为其它对象提供一种代理,以控制对这个对象的访问。 一、UML结构图 二、示例代码 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namesp 阅读全文
posted @ 2019-12-01 21:31 秋飘 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 面向对象设计的好处:可维护、可扩展、可复用、灵活性好。 1、单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。 2、开放-封闭原则:是说软件实体(类、模块、函数等) 对扩展开放、对修改封闭。此为面向对象设计的核心所在。 面对需求变动时,可以保持相对稳定,从而不断推出新的版本。 3、依赖倒置原 阅读全文
posted @ 2019-12-01 20:49 秋飘 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 一位商人有一个天平,一个40磅的砝码由于跌落在地上而碎成4块.后来,称得每块碎片的重量都是整磅数,而且可以用这4块来称量1—40磅之间的任意整数磅.问这4块碎片分别各重多少磅? 答: 1,3,9,27 1,3,9 可以解决 1~13中任意重量 27 +/- 13 刚好可以解决 14~40 的重量 貌 阅读全文
posted @ 2019-12-01 17:33 秋飘 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 一、SQLServer 大致分为两种情况:ID连续和ID不连续。 1.ID连续的情况: select * from A where ID between 31 and 40 2.ID不连续的情况: (1).两次对表查询,效率较低。 select top 10 * from A where ID no 阅读全文
posted @ 2019-12-01 17:25 秋飘 阅读(820) 评论(0) 推荐(0) 编辑
摘要: 斐波拉契数列: 1,1,2,3,5,8,13,21,34,55,89...... n=1或n=2时,1 n>2 时,An=A(n-1)+A(n-2); 两种实现方法: 递归:这是面试官更想要的结果,尽管实现方式很多 1 #region 递归实现 2 /// <summary> 3 /// recur 阅读全文
posted @ 2019-12-01 17:12 秋飘 阅读(3700) 评论(0) 推荐(0) 编辑
摘要: 策略模式就是用来封装算法的,但在实践中,我们发现可以用它来封装几乎任何类型的规则,只要在分析过程中听到需要在不同时间应用不同的业务规则,就可以考虑使用策略模式处理这种变化的可能性。 阅读全文
posted @ 2019-12-01 12:53 秋飘 阅读(583) 评论(0) 推荐(0) 编辑
摘要: UML结构图: 2、若简单工厂中的switch中case对象太多,变化太快,可以使用“反射技术”进行处理 阅读全文
posted @ 2019-12-01 10:28 秋飘 阅读(103) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-12-01 10:14 秋飘 阅读(142) 评论(0) 推荐(0) 编辑
摘要: 面向对象具有三大特性:继承、封装、多态 继承: 如:子类 继承 父类,子类就具备了父类的公共属性和方法。 作用: 1、减少重复代码。 2、成就了类与类的关系,为多态打下基础。 封装: 封装,顾名思义是将内容封装到某个地方,然后再去调用被封装到某处的内容。所以运用面向对象的封装特性时。 需要注意两点: 阅读全文
posted @ 2019-12-01 09:36 秋飘 阅读(885) 评论(0) 推荐(0) 编辑