`
anlx27
  • 浏览: 492211 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

浅瞥JAVA设计模式

阅读更多
   今天学了比较高深的设计模式的相关知识。我挺老实讲都有些头大,差点就下意识的跑神儿。但是为了温故,就冒犯一下JAVA写篇关于设计模式的文章。仅是知识简单记录而已,这些设计理念是需要代码来沉淀的,就算先混个脸熟吧。

    JAVA 6 种设计原则 (本应配合具体例子代码,但目前我还没有这个能力)

   六中设计模式分别是:单一职责原则、里氏替换原则、依赖倒置原则、接口隔离原则、迪米特法则、开闭原则。

1.单一职责原则(SRP,Single Responsibility Principle)
    有且只有一个原因引起类的变化。
    单一职责主要对接口而言,强调的是职责的分离,即每个类只有一个职责。可以看做是低耦合高内聚的延伸设计中最好尊寻这一原则。

2.里氏替换原则
   Function that use pointers ore references ti base classes must be able to use object of derived dlassed classes without knowing it.
   主张使用“抽象(Abstraction)”和“多态(Polymorphism)”将设计中的静态结构改为动态结构,维持设计的封闭性。 具体体现在:
A子类必须完全实现父类方法
B子类可以有自己的个性
C重载overload 或实现父类方法时输入参数可以被放大 
D重写override 或实现父类的方法时输出结果可以被缩小

3.依赖倒置原则(DIP,Dependence inversion Principle)
   高层模块不应该依赖于低层模块。它们都应该依赖于抽象。
   抽象不应该依赖于具体。具体应该依赖于抽象。
   依赖可以传递。
   依赖只建立在方法参数里而不是方法体里或构造方法里。

4.接口隔离原则
   接口有三种接口,分别为实例接口、类接口、应用程序接口(API)。一个类里面的方法的集合的接口隔离,称作“角色隔离原则”;另外一种叫做“定制服务”。
   角色隔离,是指客户端要多个不同的类的方法,我们就搞几个不同类别的接口(Interface)
   定制服务就是一个类,A用户的一些方法(权限),我放在一个java接口(Interface)里面,B用户的另外一些方法,放在另外一个接口(Interface). 
  
5.迪米特法则(Law of Demeter,LOD 或者 Least Knowledge Principle ,LKP)
     表述一:即一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。
     表述二:通过它的友元类来转达信息,不和其他类直接建立接触。
     表述三:核心内容是解耦合,弱耦合,只有弱耦合类的复用率才能提高,系统才能更好的扩展。

6.开闭原则
    “开-闭”原则,即“对扩展开放,对修改关闭”,指的是在软件设计中,当对某一软件实体进行扩展时,尽量不要去修改原有的软件实体,换句话说就是在不修改原有软件实体的情况下对其进行扩展。
     这个原则比较模糊,前五个原则是它的具体体现。


===================================================================
暂时没有太多自己的理解。故,望大家指点。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics