• 面向对象的基本原则


    一、可维护性

    高内聚、低耦合

    高内聚,是针对一个组件(类)内部而言,如果一个组件干了好几件不相关的事情,那么组件内部就比较散,出问题是迟早的事情。中原大战之后,蒋介石表面上统一了各个军阀,实际上,他们内部之间不够内聚,一盘散沙。

    低耦合,是针对多个组件之间的关系。老死不相往来,是理想国,也就没有什么矛盾,但这是不可能的。所以,尽量减少类之间的依赖。

    Soc

    关注分离点,我们经常说mvc模式是关注分离点的。什么意思呢?可以把mvc看成三个大的组件,每个组件都干自己的事情,model专注业务逻辑、view专注页面展示、controller专注控制,把适当的model推给适当的view

    二、面向对象设计

    面向接口编程

    利于扩展

    组合优于继承

    无论是组合还是继承,都是可以扩展对象的功能。从耦合性上来讲,组合当然优于继承。适配器模式(包装器模式)有两种实现方式

    隔离可能改变的部分

    把经常变化的部分以抽象的方式隔离起来

    SOLID原则

    1、单一责任原则 (SRP)

    2、开放/封闭原则(OCP)

    3、里氏替换原则(LSP)

    4、接口分离原则(ISP)

    5、依赖反转原则(DIP)

       KISS (keep it simple,stupid)

       DRY (don't repeat yourself)

    三、设计模式

    需求和重构

    按照oo原则来设计,结果并不一定是某种设计模式,但是可能非常接近某种模式,这时候,可以考虑是否使用模式

    四、编写优质软件

    可测试性

    虚拟对象(虚拟化框架)

    仿冒对象

    可扩展性

    基于接口的设计

    插件架构(好的框架都是具有插件的架构,如Asp.net,可通过配置文件注册响应模块和处理器)

    可读性

    1、注释(包括命名)

    2、清晰(代码结构)

    3、短的更好 

    4、一致性

       

      

  • 相关阅读:
    Java泛型方法
    HashMap,LinkedHashMap和TreeMap的区别
    HashSet,TreeSet和LinkedHashSet的区别
    Java中Arrays.sort()和Collections.sort()
    Java基础面试集合
    面试:字符串中的相关试题
    Hadoop相关知识整理系列之一:HBase基本架构及原理
    Ubuntu 15.10环境下安装Hive
    机器学习相关知识整理系列之三:Boosting算法原理,GBDT&XGBoost
    机器学习相关知识整理系列之二:Bagging及随机森林
  • 原文地址:https://www.cnblogs.com/wangqiang3311/p/11506342.html
Copyright © 2020-2023  润新知