zoukankan      html  css  js  c++  java
  • 面向对象的三个基本要素和五个基本设计原则

    一、面向对象的三个基本要素:

    继承、封装、多态。

    二、五个基本原则:

    1.单一职责原则(Single-Resposibility Principle)

     一个类,最好只做一件事。只有一个方向引起它的变化;

    个人经验:具体做法就是分模块进行封装,不要写一个功能复杂的类。

    2.开放封闭原则(Open-Closed principle) 

    对扩展开放,对修改封闭的。

    1)、对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

    2)、对修改封闭,意味着类一旦设计完成,就可以独立完成其工作,而不要对其进行任何尝试的修改 。

    个人经验:如果一个类要修改最好采用属性或方法注入的方式(采用接口),即依赖注入;或者采用继承的方式;

    3.Liskov替换原则(Liskov-Substituion Principle)

     子类必须能够替换其基类

    个人经验:基类是个超级类(抽象类或一个接口),子类实现时要实现一些必要方法;

    4.依赖倒置原则(Dependecy-Inversion Principle)

     依赖于抽象。具体而言就是高层模块不依赖于底层模块,二者都同依赖于抽象;抽象不依赖于具体,具体依赖于抽象。依赖于抽象,就是对接口编程,不要对实现编程。 

    个人经验:将具体被调用类的实现封装起来(使用接口或抽象类),提供接口给具体调用的类;

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

    又叫最少知识原则(Least Knowledge Principle LKP),就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。 

    个人经验:尽量少暴露类的方法和属性。接口隔离,使用多个小的专门的接口,而不要使用一个大的总接口。

  • 相关阅读:
    程序员的四个阶段
    2010Year Plans
    HttpHandler HttpModule入门篇
    Lucene.net索引文件的并发访问和线程安全性
    stream流写到MemoryStream内存流引发得问题
    ASP.NET 2.0 多文件上传小经验
    HTML 迷魂灯
    如何在Windows下搭建Android开发环境
    利用Lucene.net搭建站内搜索(4)数据检索
    数据加密和解密
  • 原文地址:https://www.cnblogs.com/dokaygang128/p/4078323.html
Copyright © 2011-2022 走看看