zoukankan      html  css  js  c++  java
  • java开发设计六大基本原则

    1.遵循单一职责原则

    定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。
    一个类只专注于做一件事; 
    高内聚,低耦合;

    实例:

    普通的手表如果有一个指针坏了,那么手表将不再转动,而机械表他的时,分,秒,如果有一个指针坏了,其他的并不影响其他指针的转动,这就遵循了单一职责原则。

    2.开放-封闭原则

    概念:

    官方说法是 软件实体(模块、类、函数等)应该可以扩展,但是不可以修改。也就是说软件对扩展开放,对修改关闭。

    需要说明的是,对修改关闭不是说软件设计不能做修改,只是尽量不要做不必要的修改


    对拓展开放,对修改关闭(尽可能不动原有代码进行拓展); 
    高内聚,低耦合; 
    为达到目的,需对系统进行抽象化设计(关键); 


    UML举例: 

    3. 里氏代换原则(LSP)

    里氏代换原则Barbar Liskov(芭芭拉.里氏)提出,是继承复用的基石。

    概念:
    子类必须能够替换它们的基类型,基类与子类可互换,客户端没有察觉情况下; 
    低耦合; 
    很容易实现同一父类下的各个子类的互换,而客户端可以毫不察觉;

    4.依赖倒置原则


    这个是开闭原则的基础,具体内容:面向接口编程,依赖于抽象而不依赖于具体。写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互。

    5.接口隔离原则(Interface Segregation Principle)


    使用多个专一功能的接口比使用一个总接口总要好,但不能过渡; 
    一个接口不能过于臃肿; 
    高内聚 
    会使一个软件系统功能拓展时,修改的压力不会影响到别的对象那去; 

    6.迪米特法则(Law of Demeter)


    又叫最少知识原则; 
    对象与对象之间应该使用尽可能少的方法来关联,避免千丝万缕的关系; 
    低耦合; 
    类知道其他类应尽量少; 
    类可以访问其他类的方法或者属性也应尽量少;

    如果Lily和Jack自己做hamburg那么就会与Vegetable、Meat、Bread产生千丝万缕关系。

    上图,则由KFC来做,这样Lily和Jack就只与Hamburg有关关联,与材料就没有关联了

  • 相关阅读:
    工资低的.Net程序员,活该你工资低
    React- jsx的使用 使用 camelCase 语法来设置内联样式. React 会在指定元素数字后自动添加 px
    React 使用jsx
    node.js 简介
    转换成数值 parseInt与parseFloat; (toString) 转化为字符串
    函数 封装性划分私有空间
    favicon 不显示的问题总结1
    js进阶 offset
    前端缓存技术
    图片的预加载与懒加载
  • 原文地址:https://www.cnblogs.com/864466244qq/p/9364744.html
Copyright © 2011-2022 走看看