随笔分类 -  设计模式

摘要:装饰者模式要点: 声明一个基类(抽象类型),定义基本的动作方法。声明一个起点类继承实现这个基类,然后定义N个装饰者类也继承并实现这个基类。无论是起点类还是装饰者类,他们的共同特点是:继承基类性类别,并传入基类型参数,并针对实体参数做进一步操作,当然也可以忽略传入的参数,做覆盖处理。 实例: publ 阅读全文
posted @ 2022-03-10 18:01 Shapley 阅读(76) 评论(0) 推荐(0) 编辑
摘要:状态模式:state。 1.该模式适用于某一事物流程性处理,并且每个流程大致处理相同的情况。 2.基本思路。将每个处理步骤独立出来,形成自己的处理逻辑,处理完成后,指定下一处理步骤。 3.核心思想。设置一个接口和公共类,每个子类实现接口类型,然后将公共类的实例传递给第一个子类,子类实例处理完自己步骤 阅读全文
posted @ 2022-03-08 20:39 Shapley 阅读(206) 评论(0) 推荐(0) 编辑
摘要:C#中的lock语句是怎么回事,有什么作用?C#中的lock语句将lock中的语句块视为临界区,让多线程访问临界区代码时,必须顺序访问。他的作用是在多线程环境下,确保临界区中的对象只被一个线程操作,防止出现对象被多次改变情况。注意的地方有:lock对象必须是一个不可变对象,否则无法阻止另一个线程进入... 阅读全文
posted @ 2014-06-25 15:29 Shapley 阅读(5559) 评论(1) 推荐(0) 编辑
摘要:模板模式【Template】在父类中定义好算法的骨架、顺序等。并且可以实现一部分子类不需要覆盖的算法。其余部分算法推迟到子类中实现。并且子类中也可以覆盖父类中的算法。最终,由父类作为计算的起点,父类调用子类中的部分算法,完成整个运算过程。该模式运用c#语言重载、继承特性来实现,广泛应用于账目计算等方面,只要算法骨架相似即可应用该模式。 阅读全文
posted @ 2010-11-16 17:32 Shapley 阅读(204) 评论(0) 推荐(0) 编辑
摘要:外观模式:将一对多或者是多对多的调用关系转变为一对一的调用关系。为调用者提供统一的调用接口,降低调用与被调用之间的耦合度。应用场景:在人事系统中根据当前用户的权限查看某一员工的薪资单,此时,可以运用外观模式,将当前用户的权限验证与薪资单查询组合起来,统一提供一个接口。Public Interface IvalidateUser{...} Public Interface IemployeePayr... 阅读全文
posted @ 2010-08-20 10:04 Shapley 阅读(158) 评论(0) 推荐(0) 编辑
摘要:适配器模式定义:将一种接口转换为另一种接口。适配器模式解决问题:用于解决两种接口不兼容问题,为两种接口的转换提供适当处理。应用场景:对原有系统进行扩展时,需要应用到原系统的一个或多个功能,使之在适配器模式的组合转换下,提供新的应用功能。示例:Public Interface A{...} Public Interface B{...}Public A Adapter(B b){...} 阅读全文
posted @ 2010-08-20 09:42 Shapley 阅读(164) 评论(0) 推荐(0) 编辑
摘要:策略模式:strategy。 1.该模式适用于某一事物具有多套算法,并且算法相互替换的情形。 2.基本思路。利用开发语言的特性,将特定算法独立出来,在超类中添加独立算法接口的引用。具体在实现该超类的子类中,负责将动作接口指向具体的(接口)实现类。从而达到只修改局部,不影响全局的目的。 3.核心思想。 阅读全文
posted @ 2009-11-26 08:46 Shapley 阅读(211) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示