★ 要考虑合理的复用

要尽量考虑复用。但也不能光考虑复用。不能把其他的设计原则都丢掉了。

★ 要合理的考虑接口和抽象类的使用

优先使用接口,假设既想约束子类的行为。又要为子类提供公共的功能时。採用抽象类。

★ 尽量降低类与协作类的交互次数和交互信息的量

类之间不要重复地调用,不要每次传非常多的数据。

★ 父类不应知道子类的信息,子类必须知道父类的信息

★ 訪问对象必须通过接口,不能绕过接口直接去訪问

转载于:https://www.cnblogs.com/lxjshuju/p/6992284.html

粗略。。类设计的基本经验3之笔记相关推荐

  1. java的类的设计_Java 类设计技巧

    摘自<Java核心技术>卷I:基础知识 p140 第4章对象与类 - 类设计技巧 1)一定将数据设计为私有. 最重要的是:绝对不要破坏封装性.有时候,需要编写一个访问器方法或更改器方法,但 ...

  2. 设计模式(一)--单一职责模式(衡量接口或类设计)

         作为一只入坑了两年多的java程序猿,最近才真正接触到公司的项目,面对公司所使用的框架技术,真是两眼一抹黑啊,如何快速看懂现有项目的关键技术,这直接决定你是否能快速胜任手里的工作!这段时间也 ...

  3. 面向对象的设计原则-类设计原则

    面向对象的设计原则-类设计原则 排行榜 收藏 打印 发给朋友 举报发布者:七月十五 热度票  浏览1368次 [共4条评论][我要评论]时间:2008年11月08日 10:55 在面向对象设计中,如何 ...

  4. 类设计原则及设计模式(一篇就够)

    类设计原则及设计模式 类设计的六大原则 设计模式定义 设计模式的分类 创建型模式 1. 简单工厂和工厂方法模式 定义和分类 2. 抽象工厂模式 3. 单例模式 定义 优缺点 饿汉式单例与懒汉式单例类比 ...

  5. 南大庄建军计算机学院讲座,2015年全国大学生电子设计竞赛工作经验交流会汇报_南京大学庄建军.ppt...

    2015年全国大学生电子设计竞赛工作经验交流会汇报_南京大学庄建军 成绩突破 获得认可 信心提升 二.改革路上|成效 排名 学校 国一 国二 1 西安电子科技大学 10 9 2 东南大学 10 8 3 ...

  6. 学校计算机大赛的工作总结,工作总结之中国大学生计算机设计大赛参赛经验与总结...

    中国大学生计算机设计大赛参赛经验与 总结 摘要:针对中国大学生计算机设计大赛第5届至第8届的比赛 情况进行了总结,介绍和分析了东北大学软件学院数字媒体技术专 业的学生连续4届参与该项赛事的具体情况和获 ...

  7. flex 联机游戏开发 - 四国军棋游戏:(三) 核心类设计

    通过前面的练习 flex 联机游戏开发 - 四国军棋游戏:(二)棋盘棋子 我们已经成功地用不到200行的代码绘制出了一个漂亮的棋盘,现在,我们开始进入游戏的核心类设计阶段.四国军棋的游戏逻辑还是比较复 ...

  8. java教务系统类设计_基于Java EE体系的高校教务管理系统的设计开发

    <基于Java EE体系的高校教务管理系统的设计开发>由会员分享,可在线阅读,更多相关<基于Java EE体系的高校教务管理系统的设计开发(3页珍藏版)>请在人人文库网上搜索. ...

  9. VC中海量文件读写类设计与应用(转)

    VC中海量文件读写类设计与应用   沈瑞冰 摘要 本文阐述了海量文件读写的一般方法,并分析了该方法中存在的内存耗尽问题和解决办法,并就此设计了一个海量文件读写类,封装了海量文件读写操作,最后给出了一个 ...

最新文章

  1. matlab 数据集制作,机器学习数据集制作与划分MATLAB实现
  2. [Leetcode] Simplify Path
  3. JavaScript类库
  4. 一起talk C栗子吧(第一百二十三回:C语言实例--显示变量和函数的地址)
  5. 如何执行超过一百兆(100MB)的sql脚本?
  6. Spark技术内幕: Task向Executor提交的源代码解析
  7. 图的深度优先遍历+图解
  8. HDU2602Bone Collector 简单0-1背包
  9. MLNC – Machine Learning Neural Computation
  10. 广告公司测试软件题目,信息流广告测试题,看看你广告优化能力
  11. Python使用百度地图API实现地点信息转换及房价指数热力地图
  12. Android保存图片和视频到相册
  13. Python项目:外星人入侵(汇总)
  14. 北都南, 神月あおい - 小悪魔lovers
  15. C++中二维数组的动态创建于处理(zzl)
  16. c语言数组124048,根据GPS经纬度判断当前所属的市区
  17. legacy引导gpt分区_UEFI+GPT、Legacy+MBR引导模式介绍 引导修复
  18. Unity3D WASD和方向键控制多个角色
  19. 阿联酋金融机构举办加密资产及金融科技论坛
  20. 国内开源商城系统如何选型

热门文章

  1. 防火墙(7)——禁止具体协议
  2. linux下源码安装cmake
  3. C++二维数组按行遍历和按列遍历的区别
  4. C++STL中swap函数操作与内存地址改变的简析
  5. 浅谈C++ 标准库中的异常 —— stdexcept类
  6. Dalvik虚拟机相关的可执行程序
  7. Andorid App内部跟随熊语言改变
  8. 从排序数组中删除重复项
  9. nginx修改默认运行80端口的方法
  10. PCIe学习笔记(15)--- TLP的ROUTING方式