好的设计模式应该遵守的原则

单一职责原则
要求在软件系统中,一个类只负责一个功能领域中的相应职责

开闭原则
要求一个软件实体应当对扩展开放,对修改关闭,即在不修改源代码的基础上扩展一个系统的行为

里氏代换原则
可以通俗表述为在软件中如果能够使用基类对象,那么一定能够使用其子类对象

依赖倒转原则
要求抽象不应该依赖于细节,细节应该依赖于抽象;要针对接口编程,不要针对实现编程

接口隔离原则
要求客户端不应该依赖那些它不需要的接口,即将一些大的接口细化成一些小的接口供客户端使用

合成复用原则
要求复用时尽量使用对象组合,而不使用继承

迪米特法则
要求一个软件实体应当尽可能少的与其他实体发生相互作用

代码编写步骤
1、分析任务目标,根据目标选择合适的代码设计模式
  1.1、创建模式选择
  1.2、结构模式选择
  1.3、行为模式选择

2、整理思路、画出思维导图、或代码流程图
3、找到其中的关键对象、设计对象结构体
  3.1、设计对象创建架构
    3.1.1、设计命令工厂
    3.1.2、根据命令工厂设计对象工厂
  3.2、设计对象销毁架构
  3.3、设计存储对象的数据库数据结构(出、入、排序、判空、销毁)
4、考虑时间空间复杂度,准备核心算法
5、代码编写:
  5.1、设计模块,控制输入输出
  5.2、设计日志管理体系,避免编写大量重复日志逻辑
  5.3、编写代码自检逻辑,判断结果是否符合预期
  5.4、拆分功能,不同功能在不同文件中实现
6、编写测试用例、完成代码测试

好的代码满足条件:
1、阅读容易理解
2、代码之间耦合度很低
3、代码规范,阅读优雅
4、方便扩展
5、时间复杂度低

注意事项
1、对象创建时如果对象之间有依赖关系,需要先创建最小元素对象,后续对象可以直接复用(抽象工厂模式思想)
2、对象一定要使用专门数据结构存储,后续释放空间也会十分方便。
3、日志中一定要包含函数行号和函数名,否则后续定位问题十分麻烦
4、如果程序中会执行大量的命令,导致整个函数执行速度缓慢,则在程序一开始就收集好相关数据,将数据保存在合适的数据结构中。
5、对于需要经常出、入、查找的数据,一定使用数据结构,如果不用,后续在程序里避免不了要手写,程序非常臃肿。
6、结构提编写习惯:

1、定义
typedef strcut CEPH_OSD{
    int osd_id;
    char ips[128];
}Ceph_Osd
2、声明
struct CEPH_OSD * tmp_ceph_osd = NULL;
3、使用
void test(Ceph_Osd *ceph_osd)
{
    printf("just a test!\n");
}


7、结构中可以添加自己的show函数
8、结构中也可以加其他实现函数,争取一个结构完成一个任务
9、针对每个结构,需要实现一个创建和销毁函数,否则代码中大量冗余度很高,销毁代码尝试加在结构中
10、每千行代码做一个节点、做一次自测,完成后进行后续代码开发
11、设计结构时,可以考虑设计这种结构图,梳理自己思路
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值