博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
如何学习设计
阅读量:6309 次
发布时间:2019-06-22

本文共 849 字,大约阅读时间需要 2 分钟。

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

1.反复出现的问题;

2.针对该问题的解决方案。

所以从这里看出学习设计模式,首先是积累问题,对问题进行归纳,分类,对比。其次是积累对问题的解决方案。

然而大部分人初学者都缺乏经验,学习设计模式是一个很好的思路。在看书的时候,在看书时,我觉得不是死记概念,而是可以不停地问自己这些问题:

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

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

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

其实这是用批判性思维做设计,我觉得这样可以相对比较深入全面的了解问题,审视自己的设计。做到有理有据,心中有谱,和别人讨论时也能够给别人带去假设性的思想。同时在这个过程中,也加深自己对设计的理解。

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

转载地址:http://dsoxa.baihongyu.com/

你可能感兴趣的文章
Delphi 操作Flash D7~XE10都有 导入Activex控件 shockwave
查看>>
oracle 学习笔记之名词解释
查看>>
MySQL Cluster搭建与测试
查看>>
python数据分析画图体验
查看>>
军规15 确保集成和调用第三方APP
查看>>
Etcd和ZooKeeper,究竟谁在watch的功能表现更好?
查看>>
Shredding Company 碎纸机,dfs()枚举每一种情况,再加剪枝。
查看>>
命名空间和模块化编程 - C++快速入门39
查看>>
结构化程序设计03 - 零基础入门学习Delphi12
查看>>
今天才知道怎么插入代码!!!!!!!!!
查看>>
D2007在64位Win7出现 delphi 2007 assertion failure thread32.cpp 的解决办法
查看>>
STM32的TAMPER-RTC管脚作为Tamper的使用[转]
查看>>
[记]一个逐步“优化”的范例程序
查看>>
2012-01-09_2
查看>>
数学 - 线性代数导论 - #5 矩阵变换之置换与转置
查看>>
java数据结构:队列
查看>>
IPsec工具之ipsec-tools
查看>>
jmeter文件下载
查看>>
Selenium2Library系列 keywords 之 _SelectElementKeywords 之 get_selected_list_labels(self, locator)...
查看>>
ASP.NET 中执行 URL 重写
查看>>