如何学习设计

  1. 云栖社区>
  2. 博客列表>
  3. 正文

如何学习设计

zhang_sl 2015-06-06 17:14:00 浏览533 评论0

摘要: 从GOF的”Design Pattern”中的观点,可以看到模式的有两个要素: 1.反复出现的问题; 2.针对该问题的解决方案。 所以从这里看出学习设计模式,首先是积累问题,对问题进行归纳,分类,对比。

从GOF的”Design Pattern”中的观点,可以看到模式的有两个要素:

1.反复出现的问题;
2.针对该问题的解决方案。

所以从这里看出学习设计模式,首先是积累问题,对问题进行归纳,分类,对比。其次是积累对问题的解决方案。
然而大部分人初学者都缺乏经验,学习设计模式是一个很好的思路。在看书的时候,在看书时,我觉得不是死记概念,而是可以不停地问自己这些问题:

  1. 这个模式是针对什么问题提出的?
  2. 为什么要这么做,而不那么做?
  3. 这样做有什么优势和劣势?
  4. 和其他类似的模式区别在哪里?

在自己设计的时候,也这样问自己:

  1. 我碰到什么问题,问题的本质与核心是什么?
  2. 我可以用哪些方案解决问题?
  3. 为什么用这些方案?各自有什么优劣势?
  4. 最终选择哪个方案比较好?

其实这是用批判性思维做设计,我觉得这样可以相对比较深入全面的了解问题,审视自己的设计。做到有理有据,心中有谱,和别人讨论时也能够给别人带去假设性的思想。同时在这个过程中,也加深自己对设计的理解。
我不太提倡死板套用设计模式,任何模式都是用来解决特定问题的,如果被套住,就无法深入了解其中的思想,也就不能真正做好设计,不能在已有设计上做提高。
同时我也不认同不用看设计模式,只要遵守设计原则就好了。我觉得看设计模式是一个很好的学习机会,是前人的总结,不能浪费。
另外看到一篇讲如何设计API的文章,觉得挺好,贴出来分享:An API Design Process
他主要讲了API设计的流程和一些注意点。但是其中我觉得他讲到一点给我挺大启发。他说设计API最重要的首先自己要清楚为什么要设计这个API,有明确的意识,是良好设计的前提。其次是设计过程中会碰到一系列决定,要做出明智的决定,当做出的决定都是明智的,这个API就坏不到哪里去。而做出明智的决定,你得先做过不好的决定,从中吸取教训,能以辨别好坏。
这一点给我的鼓励是让我可以正面自己做过的糟糕决定,明白这也是学习的宝贵机会。不光是自己的,看到别人做的糟糕的设计,也是宝贵的学习机会,要去想为什么他的设计会失败?从中就可以吸取教训。

用云栖社区APP,舒服~

【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?  详情请点击

网友评论

zhang_sl
文章13篇 | 关注4
关注
阿里云机器学习是基于阿里云分布式计算引擎的一款机器学习算法平台。用户通过拖拉拽的方式可视化的... 查看详情
定制建站一条龙服务,由客户经理与设计师提供一对一服务,帮助用户轻松建立企业官网 查看详情
阿里云消息服务(Message Service,原MQS)是阿里云商用的消息中间件服务。与传... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
建站4折

建站4折