设计的原则

1、审慎添加新class

  • 如何被创建,被析构
  • 复制行为如何
  • 有什么默认行为是需要被禁止的
  • 和其他类之间关系如何(设计模式的领域)
  • 支持怎么样的类型转换
  • 一般性如何(模板编程)

2、合理运用几种类间关联关系

  • public继承是 is-a 关系
  • 聚合是 has-a 或者 通过a去实现
  • private继承也是通过a实现,只有当需要操作protected成员时,才用它代替聚合

3、接口要容易被使用,且不容易被误用

4、区分好接口继承与实现继承

时间: 2024-10-22 08:49:53

设计的原则的相关文章

shell软件工具设计的原则_转

随着时间的流逝,人们开发出了一套设计与编写软件工具的原则.在本书用来解决问题的程序中,你将会看到这些原则的应用示例.好的软件工具应该具备下列特点:一次做好一件事在很多方面,这都是最重要的原则.若程序只做一件事,那么无论是设计.编写.调试.维护,以及生成文件都会容易得多.举例来说,对于用来查找文件中是否有符合样式的grep程序,不应该指望用它来执行算术运算.这个原则的结果,自然就是会不断产生出更小.更专用于特定功能的程序,就像专业木匠的工具箱里,永远会有一堆专为特定用途所设计的工具.处理文本行,不

设计四原则之如何设计漂亮的简历

在这个看脸的世界,设计漂亮的简历就是给简历一个好的脸蛋.那么如何设计美观的简历呢?我的答案是 设计四原则  +  LaTeX排版 下面先放出我设计的一份简历模板,然后依次讲解. 如果你的第一印象被上面的简历吸引了(只看外观,内容都是瞎掰的O(∩_∩)O哈哈~),并且有拿起电话播(+86)8888-888-888的冲动,那么,继续往下看吧. 首先,记住设计四原则: 1.  对比(Contrast) 2.  重复(Repetition) 3.  对齐(Alignment) 4.  亲密性(Prixi

如何设计接口原则?

如何设计接口? 众所周知,接口是提供给其他模块或者系统使用的一种约定或者规范.因此接口必须要保证足够的稳定性和易用性.这是设计接口的基本要求. 1.稳定性 接口必须相对稳定,否则将导致接口的使用者和提供者为了适应新接口而不断修改接口的实现,可能重复进行无用功,严重时影响整个软件开发进度.那么如何保证设计的接口相对稳定呢?    首先,接口的语义必须明确.包括接口调用方法.接口名称.参数的类型和名称.抽象的接口名称或者参数名称使人困惑或者理解错误.如下例:    History::SetAttri

表设计的原则与方法分析:追求表价值的最大化

表设计的原则与方法分析:追求表价值的最大化 在对象关系映射的应用系统设计中,对象就是表.对象关系即表关系,脱离对象设计表是错误的.对象的存在或价值在于它与其他对象的关系(设计研究的就是怎样处理对象以及对象之间的关系),不与其他对象产生关系的对象,或者说不与其他表有关系的表是没有价值的,不应创建. 当需求确定開始对系统进行设计时,首先进行对象分析.每个对象应具有唯一性,即对象的属性和方法唯一,能够明白的代表现实世界中的一种对象,因此与该对象相应的表的字段也具备唯一性.即在其它表中不应有反复字段.

设计指导原则

设计指导原则 一. 性能相关: 避免在循环内部new一些没有必要每次都new的对象. 所有与IO相关的操作,都需要考虑性能问题,一般采取的措施是连接池,缓存,减少调用次数,合并请求. 每个业务都要分析整个请求链路,找到瓶颈,通过压测的方式确认问题及验证解决方案. 根据业务情况,使用异步化和最终一致性. CPU,内存,网络IO,磁盘IO这些瓶颈,需要知道在合适的场景牺牲什么换取什么.通俗的讲是空间换时间,还是时间换空间.不同业务场景下,要做合理的取舍.例如多线程并发查询后merge.这个就是利用C

扁平化设计五大原则

扁平化设计五大原则 摘要:这段时间以来,扁平化设计一直是设计师之间的热门话题.那什么是扁平呢?designmodo设计师Carrie Cousins总结扁平化的五大特点,并且介绍了“准”扁平化设计理念及其优缺点. 这段时间以来,扁平化设计一直是设计师之间的热门话题.每个人都有自己的独特认识,有的非常喜欢而有的人却恰恰相反.那什么是扁平呢? designmodo设计师Carrie Cousins在网站上介绍了扁平化的五大特点,以及“准”扁平化设计的优缺点.CSDN编译如下. Cousins表示他虽

《设计模式之禅》笔记整理--面对对象设计六大原则

第一章.面对对象设计六大原则: (1).单一职责原则:应该有且只有一个原因引起类的变更. 为什么要用单一职责原则:(1).类的复杂性降低,实现什么职责都有清晰明确的定义. (2).可读性提高,复杂性降低,当然可读性提高了. (3).可维护性提高,可读性提高,当然更容易维护了. (4).变更引起的风险降低,一个接口修改,只对相应的实现类有影响. 职责划分的例子:电话过程可以划分为两个职责:(1).协议管理(2).数据传送 :RBAC模型,基于角色的访问控制 (2).里氏替换原则:目的:增强程序的健

hbase表设计优化原则 ***** 生产环境中使用小结

2019/2/28 星期四 hbase表设计优化原则 https://www.cnblogs.com/qingyunzong/p/8696962.html表设计1.列簇设计 追求的原则是:在合理范围内能尽量少的减少列簇就尽量减少列簇. 最优设计是:将所有相关性很强的 key-value 都放在同一个列簇下,这样既能做到查询效率 最高,也能保持尽可能少的访问不同的磁盘文件. 以用户信息为例,可以将必须的基本信息存放在一个列族,而一些附加的额外信息可以放在 另一列族.2.RowKey 设计 HBas

OO设计原则 -- OO设计的原则及设计过程的全面总结

这部分增加一点自己的感想,OO设计原则下面讲述的很清晰;看完之后有点感想如果我们在实际开发当中能够把这些原则熟烂于心的话那我们的代码质量和个人能力会有很显著的提神.根据自己的实际经验看很多开发者在开发过程中很多基本的知识确实没有熟烂于心导致开发的时候只有基本的内容.我所在的项目就是代码接口各种乱,可读性和可维护性特别差:当然自己在开发的时候也都没有做到,在后面的工作中尽量避免 前面发表了5篇OO设计原则的文章,在这里我将这个5个原则如何在我们设计过程进行应用进行一下总结, 这是我通过阅读和学习很

php设计六大原则

1.单一职责 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责. 优点: 1).可以降低类的复杂度,一个类只负责一项职责,逻辑简单: 2).提高类的可读性,提高系统的可维护性: 3).变更引起的风险降低,变更是必然的. 2.里氏代换原则 定义:所有引用基类的地方必须能透明地使用其子类的对象,也就是说子类可以扩展父类的功能,但不能改变父类原有的功能 . 3.依赖倒置原则 定义:高层模块不应该依赖低层模块,二者都应该依赖其抽象:抽象不应该依赖细节:细节应该依赖抽象. 此处理解