极客时间_软件设计之美 笔记

极客时间_软件设计之美 笔记

1.软件设计是什么

  1. 写代码前应该有模型设计

    • 比如mvc结构就是一种模型
  2. 代码应该有规范,

    • 产品内部原则 避免每个开发按自己的想法实现,有人写rest 有人写mvc
    • 代码模块原则 某段代码应该放在哪里,比如工具类放到ibase里的哪个模块的哪个包
    • 软件设计原则 比如 需要 防腐层 外部接收的json需要转换成内部对象,json解析器直接解析出来的对象有可能有大量附加信息占用内存。

低耦合高内聚

2.分离关注点

  1. 解决问题的思路 分而治之。
    • 分的要足够细,不要把问题混淆
    • 分解问题时候不是一个维度,业务维度、性能、异常情况等等。每一个维度是一个关注点
      • 动静分离
      • 读写分离
      • 高频低频分离
    • 业务处理和技术实现是两个关注点,不是所有问题都是技术问题,分层封装。

分离的关注点越多越好粒度越小越好。
CQRS

3. 可测试性

  1. 演化质量
    • 可测试性
    • 可维护性
    • 可扩展性
    • ···
  2. 设计时考虑可测试性
    • 不保证钢筋水泥的质量如何保证盖出来的大厦的质量。
    • 保证软件质量就要保证模块的质量就要保证每个类每个方法的质量
    • 有的类不好测试,说明设计时没有考虑可测试性
    • 有些设计模式就没有
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值