软件设计的一点理解

1.以前经常形而上学,以后要形而下学,就是要多读源码

2.我们设计代码,在设计思想和理念上,会经常用到“抽象”,
这个抽象是一个非常重要的方法,我们把业务的数据抽象成合适的对象,合适的结构,
我们把业务中的动作抽象成合适的对象的操作或者方法,
我们把业务中的流程,抽象成合适的软件中的流程;
在抽象对象时,不仅仅是抽象成对象,我们还要把对象之间的关系定义好,
比如是平等的关联,还是依赖,而且还要分析他们之间是一对多,还是多对多。
定义好关系后,我们还要分析他们之间的关系是强还是弱,是整体与部分的关系,还是什么;
定义好关系后,我们要维护这些关系,我们通过数据或者消息的传递或者信号的传递来激活和维护他们的关系;当然我们依然需要一些对象来负责传输;
一个对象不是独立存在的,他们是共同协作的,可能是直接的,可能是间接的,这些都是我们定义的;
我们在设计开发代码,其实就是在创建各种各样的对象,方法,并且创造他们的关系,最后维持他们的关系,使之成为一个相对完整的系统,能够完成一定条件下的某种功能;

3.

在底层语言比如c语言内存要自己申请,数据结构要自己构建,那么在高级语言比如java中,我们可以方便使用集合,但是你的清楚jvm是如何帮你申请内存的,而且你最好清楚他们是融合扩容的,比如map的扩容

原文地址:https://www.cnblogs.com/big1987/p/9705777.html