`
memorymyann
  • 浏览: 270747 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

开闭原则

 
阅读更多

开闭原则:对扩展开放,对修改关闭。或者换句话来说就是一个模块在不被修改的前提下可以被扩展。

 

说的有点抽象,至少不是那么容易去理解,我举个例子来理解下,如果写的有误也欢迎各位指出。

我有个抽象的图形类如下

package sty;

public abstract class Graph {
    //获取图形面积,这里只返回整数
    public abstract int getArea();
}
具体的求面积的实现是根据图形的形状来确定的,比如我有以下几个具体的图形类

package sty;

//圆
public class Circle extends Graph {
    //半径
    private int radius;   

    public int getRadius() {
        return radius;
    }



    public void setRadius(int radius) {
        this.radius = radius;
    }



    public int getArea() {
        return 3 * radius * radius;
    }

}

 


package sty;
//三角形
public class Triangle extends Graph {
    //底边长
    public int bottom;
    //高
    public int height;
   
   

    public int getBottom() {
        return bottom;
    }



    public void setBottom(int bottom) {
        this.bottom = bottom;
    }



    public int getHeight() {
        return height;
    }



    public void setHeight(int height) {
        this.height = height;
    }



    @Override
    public int getArea() {
        return bottom * height / 2;
    }

}

这符合大多数人的设计逻辑,这里就反映了一种开闭原则。首先对于求面积的方法public abstract int getArea();这种形式我们是不会改变的,但他具体的实现则取决于具体的图形,具体实现这部分是可以扩展的。(不知道我这里例子举的恰当否?)

 

那么在这种原则下,对我们编码产生的影响如下:

Graph g = new xxx(); //这里可能是三角,也可能是圆,但无论哪种具体的实现类,对我么求面积来说并没有什么不同

......

g.getArea();

 

顺便给出一个介绍设计原则的文章http://www.kuqin.com/design-patterns/20080727/12537.html

 

分享到:
评论

相关推荐

    JAVA开闭原则

    JAVA开闭原则是一种重要的软件设计思想,其核心理念在于提高软件系统的灵活性、稳定性和可维护性。开闭原则强调“对扩展开放,对修改关闭”,即在设计阶段应该确保软件模块能够在不修改原有代码的基础上,通过扩展的...

    什么是开闭原则,java开闭原则

    开闭原则是面向对象设计的核心原则之一,它的全称是"对扩展开放,对修改关闭",即在软件设计过程中,我们希望系统能够容易地添加新功能,同时保持原有代码的稳定性,避免频繁修改。这一原则由 Bertrand Meyer 在他的...

    面型对象设计原则——开闭原则(OCP)的Demo+静态结构图

    开闭原则(Open-Closed Principle,简称OCP)是面向对象设计中的一个核心原则,它在软件工程领域具有举足轻重的地位。该原则由 Bertrand Meyer 在其著作《Object-Oriented Software Construction》中提出,旨在提高...

    JAVA设计模式之设计原则 ---开闭原则源码

    开闭原则是面向对象设计中的一个核心原则,它在JAVA设计模式中占据着重要的地位。这一原则由格里·贝斯提出,旨在指导开发者如何设计可维护和可扩展的软件系统。开闭原则(Open-Closed Principle,OCP)的核心思想是...

    开闭原则----图片缓存

    开闭原则是面向对象设计中的一个基本原则,它由软件工程专家 Bertrand Meyer 在其著作《Object-Oriented Software Construction》中提出。这个原则的核心思想是“对扩展开放,对修改关闭”。简单来说,就是模块应该...

    设计模式6大原则:开闭原则

    设计模式6大原则:开闭原则

    开闭原则1

    开闭原则是面向对象设计的基本原则之一,由勃兰特·梅耶在1988年提出。这个原则的核心思想是:软件实体(如模块、类、接口和方法)应该对扩展开放,对修改关闭。这意味着在需求变更时,我们可以通过增加新代码来扩展...

    该怎么使用Java设计模式编程中的OCP开闭原则?.pdf

    该怎么使用 Java 设计模式编程中的 OCP 开闭原则? 在软件开发中,开闭原则是面向对象设计中最基础的设计原则之一,它指导我们如何建立稳定灵活的系统。开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放...

    开闭原则OCP.zip

    开闭原则(Open-Closed Principle,简称OCP)是软件设计模式中的一个基本原则,由艾兹格·迪米特里斯·伯纳斯-李提出。这个原则指出,软件实体(类、模块、函数等)应当对扩展开放,对修改关闭。换句话说,当软件...

    python开闭原则.docx

    **开闭原则** 是面向对象设计的一个核心原则,它的主要思想是软件实体(如类、模块、函数等)应当对扩展开放,对修改关闭。这一原则的目的是在系统需要新增功能或修改现有功能时,尽可能地减少对原有代码的改动,以...

    该怎么使用Java设计模式编程中的OCP开闭原则?.docx

    Java 设计模式中的 OCP 开闭原则 在软件设计中,OCP 开闭原则是其中一个非常重要的设计原则。该原则定义了一个软件实体,如类、模块和函数应该对扩展开放,对修改关闭。也就是说,当软件需要变化时,应该尽量通过...

    Java Web设计模式之OCP(开闭原则)

    开闭原则(Open-Closed Principle,OCP)是软件工程中的一个基本原则,由Bertrand Meyer在1988年提出,它是面向对象设计的核心之一。这个原则规定了软件实体(如类、模块、函数等)应该对扩展开放,对修改关闭。这...

    论开闭原则在JAVA程序设计中的应用.pdf

    开闭原则是面向对象设计中的一个核心原则,它要求软件实体(例如类、模块、函数等)应该设计成对扩展开放,对修改关闭。这个原则由Bertrand Meyer在1988年提出,旨在确保软件系统能够更容易地应对需求的变化,从而...

    11丨软件设计的开闭原则:如何不修改代码却能实现需求变更?.pdf

    开闭原则是面向对象设计中的一个基本原则,它指导着我们如何设计出可维护、可扩展的软件系统。根据开闭原则,软件实体如模块、类或函数应当对扩展开放,对修改关闭。这意味着当需求发生变化时,我们应当尽可能地通过...

    论开闭原则在JAVA程序设计中的应用.zip

    开闭原则是面向对象设计的基本原则之一,由格里·贝迪奇在其著作《设计模式:可复用面向对象软件的基础》中提出。这个原则主张软件实体(类、模块、函数等)应当对扩展开放,对修改关闭。简单来说,就是在不修改原有...

    开闭原则.rar之java设计模式

    开闭原则是面向对象设计中的一个基本原则,它主张软件实体(包括类、模块、函数等)应当对扩展开放,对修改关闭。这意味着在不改变原有代码的基础上,可以通过增加新的功能来适应需求的变化,从而提高软件的可维护性...

    开闭原则和依赖倒置的例子Java.doc

    开闭原则(Open-Closed Principle,OCP)是软件设计原则之一,它的核心思想是软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。这意味着在不修改原有代码的基础上,可以通过增加新的代码来扩展功能。在这个...

    读书笔记:单例原则最小知识原则开闭原则.zip

    读书笔记:单例原则最小知识原则开闭原则

    读书笔记:设计原则开闭原则.zip

    读书笔记:设计原则开闭原则

Global site tag (gtag.js) - Google Analytics