博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之原则
阅读量:5844 次
发布时间:2019-06-18

本文共 518 字,大约阅读时间需要 1 分钟。

hot3.png

  1. 单一职责

    1. 有且仅有一个原因引起类的变化;
    2. 一个方法尽可能仅做一件事情;
    3. 每个接口尽可能实现同一种业务逻辑
      1. 获取用户id、头像等对象信息的处理放在一个接口里,删除用户、添加用户等业务逻辑处理放在另外一个接口
  2. 里氏替换

    1. 子类继承父类的所有方法;
    2. 父类出现的地方可以直接用子类替换;
    3. 覆盖或者实现父类的方法输入参数可以被放大;
      1. 父类的输入参数是HashMap,那么子类的输入参数可以是Map;
    4. 覆盖或者实现父类的方法返回参数可以被缩小;
      1. 父类的返回参数是HashMap,那么子类的返回参数可以是LinkedHashMap;
  3. 依赖倒置

    1. 模块之间的依赖通过接口或者抽象类实现;
    2. 每个实现类尽量要有接口或者抽象类或者两者兼有;
  4. 接口隔离

    1. 接口要尽量小;
    2. 接口要满足单一职责原则;
    3. 接口要高内聚;
    4. 定制服务;
    5. 接口设计师有限度的;
  5. 迪米特法则

    1. 只和朋友交流;
    2. 如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,那就放置在本类中;
  6. 开闭原则

    1. 对扩展开发,对修改关闭
    2. 抽象约束:对象变量或者引用尽量使用接口或者抽象类,尽量不要使用实现类

转载于:https://my.oschina.net/vincentzhao/blog/676976

你可能感兴趣的文章
Nodejs使用图灵机器人获取笑话
查看>>
Spring 任务调度 简单的,使用Schedule
查看>>
SQL 2005删除作业计划出错(DELETE语句与 REFERENCE约束"FK_subplan_job_id"冲突。)的解决...
查看>>
【Touch&input 】支持多个游戏控制器(18)
查看>>
我的友情链接
查看>>
SQL语句学习
查看>>
mysql的SQL性能监控
查看>>
What is Cluster Aware Updating in Windows Server 2012?
查看>>
进老男孩的自我介绍和决心书
查看>>
线上Linux服务器运维安全策略经验分享
查看>>
Android一些问题的解决方案
查看>>
ios之UIToolBar
查看>>
centos 6.5 docker  安装
查看>>
C++静态局部对象
查看>>
一步步学习EF Core(3.EF Core2.0路线图)
查看>>
网络ASI
查看>>
Luogu P4707 重返现世
查看>>
目标与绩效管理实战专家胡立
查看>>
axios 中断请求
查看>>
2014手机分析图
查看>>