学习的时候也没有过多的区分是Java的还是C#的,设计模式它是编程的思想,代码间有差别,但是思想都是一通百通的。
这些涵义可能都了解,但还要在赘述一遍。
设计模式本包含23种,归纳为三种类型模式:创建型(Creational),结构型(Structural),行为型(Behavioural)。
创建型:提供了一种在创建对象的同时隐藏创建逻辑的方式,不是在使用时直接实例化,它使程序在创建对象实例更加灵活。
结构型:关注对象和类
过滤器模式(Filter、 Criteria Pattern)
行为型:关注对象间通信
责任链模式(Chain of Responsibility Pattern)
特别关注表示层,整理来源于J2EE中的模式,不过在C# .NET 中也可以使用。
业务代表模式(Business Delegate Pattern)
组合实体模式(Composite Entity Pattern)
数据访问对象模式(Data Access Object Pattern)
前端控制器模式(Front Controller Pattern)
拦截过滤器模式(Intercepting Filter Pattern)
服务定位器模式(Service Locator Pattern)
传输对象模式(Transfer Object Pattern)
设计模式的六大原则:
1、开闭原则(Open Close Principle):对扩展开放、对修改关闭。使用接口或抽象类来实现对程序进行扩展,从而不去修改已有的方法。
2、里氏替换原则(Liskov Subsitution Principle):面向对象设计的基本原则之一,所以LSP是对实现抽象化的具体步骤的规范。
3、依赖倒转(置)原则(Dependence Inversion Principle):针对接口编程,依赖于抽象而不依赖于具体。
4、接口隔离原则(Interface Segregation Princilple):它的目的是使用接口来降低类之间的耦合度。
5、迪米特法则(最少知道原则)(Demeter Principle):一个实体尽量的减少与其他实体之间发生相互作用。
6、合成复用原则(Composite Resuse Principle):尽量使用合成/聚合的方式,而不使用继随。
根据以上的六大原则,不难发现,其实设计模式就是为了降低系统中类间的关系、降低耦合度,提高系统的可维护性、可扩展性。
讲真,以上绝大部份都是摘录来的。有很多还不是很明白甚至没有使用过。
这里先做一个记录,概念知识是程序员的一个弊端,很多人包括我自己,有些技术都会使用,但是真让我们来讲,可能讲的不是很有水平。
所以要讲的有水平,只能先博文强记,再加上自己的理解和在使用中过程中生成出一套自己的想法和解决方案。