架构师们遵循的设计原则

架构师应该扮演的角色是一个引导者、讨论发起者、花草修剪者,而不是定义者和构建者。

  • KISS(Keep it simple,sutpid) 和保持每件事情都尽可能的简单
  • YAGNI(You aren’t gonna need it)-不要去搞一些不需要的东西
  • 爬,走,跑
  • 时刻要想投入产出比(ROI)
  • 了解你的用户,然后基于此来平衡你需要做哪些事情
  • 设计和测试一个功能得尽可能的独立
  • 不可能预测到用户将会如何使用我们的产品。要拥抱MVP(Minimal Viable Product),最小可运行版本。挑几个很少的使用场景,然后把它搞出来,然后发布上线让用户使用,然后基于体验和用户反馈再决定下一步要做什么
  • 有时候你要有勇气和客户说不。这时候你需要找到一个更好的解决方案来去解决。记住亨利福特曾经说过的 :”如果我问人们他们需要什么,他们会说我需要一匹速度更快的马”。记住:你是那个专家,你要去引导和领导。要去做正确的事情,而不是流行的事情。最终用户会感谢你为他们提供了汽车。
  • 知道CAP理论。可扩展的事务(分布式事务)是很难的。如果可能的的话,尽可能的使用补偿机制。RDBMS事务是无法扩展的。
  • 最好的产品是不需要产品手册的
  • 当你无法在两个选择中做决定的时候,请不要直接把这个问题通过提供配置选项的方式传递给用户。这样只能让用户更加的发懵。如果连你这个专家都无法选择的情况下,交给一个比你了解的还少的人这样合适吗?最好的做法的是每次都找到一个可行的选项;次好的做法是自动的给出选项,第三好的做法是增加一个配置参数,然后设置一个合理的默认值。
  • 总是要为配置设置一个合理的默认值。
  • 设计不良的配置会造成一些困扰。应该总是为配置提供一些示例值。

你可能感兴趣的:(思维,互联网技术,架构师,思维,互联网,设计模式,设计原则,架构)