码迷,mamicode.com
首页 > 编程语言 > 详细

java设计模式 -------- 基本原则

时间:2014-11-26 01:27:20      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:java设计模式   设计原则   面向对象的思想   

本文是自己学习所做笔记,欢迎转载,但请注明出处:http://blog.csdn.net/jesson20121020

            在看设计模式的基本原则之前,先来看下一些基本的面向对象知识。

1. 面向对象思想的建立:

           面向的对象的三原则,即继承,封装和多态,那么这些又是如何定义,又如何区分呢?

           封装  :  隐藏实现的一些细节,提供一种公开的访问方式。

                                     eg. private可以把一些成员变量和成员方法给隐藏起来。

           继承  :  可以具备某些已经存在的功能。

           多态  :  对象在不同时刻体现不同的优势。

                                      eg. List list = new ArrayList();

                                             list = new LinkedList();

2. 设计思想的区别:

            抽象类 : 是对一组具有相同的属性和方法的在逻辑上有关系的一种抽象。

                              is a的关系。

            接口 : 对一组具有相同的属性和方法的在逻辑上不相关的一种抽象。

                           like a的关系。

3. 面向对象设计的几个基本的原则:

   总原则:开闭原则

     开闭原则就是说对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去修改原有的代码,而是要扩展原有代码。


   A:单一职责

     系统中的第一个对象应该只有一个单独的职责,所有对象关注的应该是自身职责的完成。

     基本思想:高内聚,低耦合。

   B:开闭原则

     一个对象的扩展开放,对修改关闭。

     基本思想:对类的改动是通过增加代码进行的,而不是修改现有的代码。

   C:里氏替换原则

     在任意父类出现的地方,都可以使用子类来代替。

   D:依赖注入原则

     要依赖于抽象,不要依赖于具体的实现。

     基本思想:在开发中尽量的面向接口编程。

   E:接口分离原则

     不要去使用一些不需要使用的功能。

     基本思想:一个接口不要提供太多的行为。

   F:迪米特原则

     一个对象对其他的对象应该尽可能少的了解。

     基本思想:降低耦合。

   G:合成复用原则

     优先使用组合而不是继承原则,即尽量首先使用合成/聚合的方式,而不是使用继承。

     基本思想:在利用对象的最低点,要优先考虑组合,而不是继承,因为父类的任何改变都可能直接影响子类的行为。

     eg. 把大象装进装箱:

                            继承实现:

         class A{方法(){"打开冰箱"}}

                              class B extends A{方法(){"装进大象"}}

                              class C extends B{方法(){"关闭冰箱"}}

       组合实现:

         class Demo{

           new A().方法(); 

           new B().方法();

           new C().方法();

         }

   

   以上就是设计模式的基本原则,看起来好象很简单,但在实际应用的过程中还是会遇到不少的问题,在此记录下,以督促自己在以后的软件开发中尽量应用设计模式,从而更加深刻的理解。以上笔记,是我自己在听"51cto"设计模式一视频中所做的,后面有可能会继续做。

 

java设计模式 -------- 基本原则

标签:java设计模式   设计原则   面向对象的思想   

原文地址:http://blog.csdn.net/jesson20121020/article/details/41410793

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!