看了梁飞关于Dubbo设计过程中的经验,虽然大多是对框架方面的设计经验,有些也适用于产品和项目中,摘抄了下来
模块分包原则
复用度
– 包中的类应该有同样的重用可能性。
– 紧密协作的类应该放在一个包。
– 变化应在包内终止,而不传播到其它包。– 发布的粒度和复用度相同。
• 稳定度
– 被依赖的包应该总是比依赖者更稳定。 – 不要让一个稳定的包依赖于不稳定包。 – 单向依赖,无环依赖。
• 抽象度
– 越稳定的包应该越抽象。
– 稳定的包不抽象将导致扩展性极差。
– 抽象的包不稳定将导致其依赖包跟随变化。
API区分命令与查询
– 命令:
• void set(Xxx xxx); // 无返回值表示命令,有副作用
– 查询:
• Xxx get(); // 有返回值表示查询,保持幂等,无副作用
– 不建议:
• Object delete(); // 删除并返回
– 建议:
– Object get(); // 先查询
– void delete(); // 再删除
开闭原则
• 对扩展开放。
• 对修改关闭。
• 软件质量的下降,来源于修改。
• 替换整个实现类,而不是修改其中的某行。
分享到:
相关推荐
本文以《软件公司组织体系框架设计方案PPT学习教案》为蓝本,深入探讨了如何在不同的发展阶段构建与调整组织结构,以支持软件公司的战略发展。 首先,文档提出了构建组织结构的八大基本原则,为后续的设计方案提供...
当确定了一个具体的框架之后,相应的软件体系结构也就随之确定下来。例如,在Web开发中,Model-View-Controller (MVC) 是一种常见的架构模式,而Spring MVC、Struts等则是实现这种架构的具体框架。 - **区别**:...
【系统框架设计思想与分析(delphi版)】 在Delphi中设计系统框架,尤其是针对分布式多层数据库应用,主要涉及的核心思想是OOP(面向对象编程)和DAL(数据访问层)。这种框架结构旨在提高系统的可扩展性、可维护性和...
### React框架设计方案 #### 1. 引言 React 是由 Facebook 开发的一款用于构建用户界面的 JavaScript 库。自2013年发布以来,React 已经成为了前端开发领域的重要工具之一,其组件化的开发方式、虚拟 DOM 机制以及...
创建自己的框架需要深入理解编程语言、设计原则和目标用户的需求。以下是一个详细的过程,指导如何创建一个Java平台上的轻量级Web MVC框架。 1. **定位与目标** - 首先,明确创建框架的目的。在这个例子中,我们想...
在实际项目中,C#设计模式的应用能够帮助开发者遵循SOLID原则,即单一职责原则(Single Responsibility Principle)、开闭原则(Open-Closed Principle)、里氏替换原则(Liskov Substitution Principle)、接口隔离...
【公司管理制度体系设计原则】 公司管理制度体系的设计是企业管理和运营的核心环节,对于IT行业的公司尤为重要。北京创原世纪信息技术有限公司在快速发展的过程中,意识到原有的管理模式已无法满足扩大规模的需求,...
这个框架主要分为四个部分:概述、架构设计、子系统的结构与功能设计以及系统特点。以下是这四个部分的详细解读: **第一部分:概述** 概述部分明确了企业信息化系统的目标和原则。首要目标是提升工作质量、管理...
本课件详细讲解了此类结构的抗震设计要点,涵盖了结构抗震等级、抗震缝设置、结构布置原则、截面尺寸选择以及抗震框架的一般设计原则等多个关键方面。 首先,结构抗震等级的划分是基于地震烈度、房屋高度和结构类型...
《C#设计模式随书源码》是一个包含各种C#编程设计模式实现的资源集合,对于学习和理解设计模式在实际开发中的应用有着极大的帮助。设计模式是软件工程中经过长期实践验证的、针对特定问题的解决方案,它提供了一种在...
同时,抗震设计在结构设计中占有极其重要的地位,结构工程师必须遵循“小震不坏,中震可修,大震不倒”的设计原则,以满足国家和地区的抗震设计规范。 施工图作为指导现场施工的重要文件,包含建筑施工图和结构施工...
通过学习,你可以掌握PHP语法、错误处理、函数和类的使用、数据类型、数组操作、字符串处理、文件系统操作等基础,以及数据库连接、查询优化、面向对象设计原则等进阶内容。 5. **实战应用**:书中的实例代码提供了...
在当前工艺管道设计中,3D设计的应用已成为主流,但随之而来的是一系列挑战。传统上,管架标注多以二维图纸为主,这种方法在转换为三维模型时往往会遇到信息丢失或者表达不清的问题。为了解决这一困境,本文提出了一...
6. **逻辑模式设计**:将ERD转化为关系数据库模型,遵循一定的设计原则,如确定实体、联系,以及关系的键和约束。 7. **数据库关系框架**:包括读者、图书、出版社、罚款单等表的构建,以及它们之间的关联,如罚款...
- **辅助功能**:确保导航菜单对屏幕阅读器和其他辅助技术友好,遵循无障碍网页设计原则。 通过上述技术,我们可以创建一个既美观又实用的“导航菜单随动”效果,提升网站的整体用户体验。在实际项目中,可以根据...
C#作为.NET框架的主要编程语言,同样可以应用各种设计模式来提高代码的可读性、可维护性和可扩展性。本资料包“C#设计模式(含随书源码)”包含了对C#中常见设计模式的详细讲解及配套的源代码,对于深入理解和应用设计...
#### 一、项目概述与设计原则 在游戏开发领域,构建一个高效、可扩展的框架是项目成功的关键。框架的设计需基于项目成员的特性和功能需求,通过抽象和模块化,确保代码的复用性、可维护性和性能优化。在“一个游戏...
7. **设计原则**: 考虑到可读性和可访问性,缩放时应注意保持适当的控件间距和字体大小。同时,要避免因缩放导致的界面元素重叠或遮挡。 综上所述,控件随主窗口比例缩放是一项涉及多个层面的技术,包括布局管理...