框架
相当于公式,
例:
a*b+a*c+a*d
套用公式后成了a*(b+c+d)
框架为某一系列问题,提供通用的解决方案与算法.
我们造房子,没必要去生产水泥,生产吊车.
这些东西框架都为你准备好了,你只要关心造出的是"鸟巢"还是"水立方"就好了
模式
解题方法或者思路.
例:
"鸡兔同笼"问题
框架不会解决所有问题,当有你所用框架没有涉及到的地方的时候,你需要自己去解决它,
模式就是解决问题的总结与经验.它帮你更快的找到解决问题的思路与方法.
模式难学,因为它需要放到实践中去体会,当你为某个设计方面的难题头疼的时候,才会需要"她",才会理解"她"对你的重要
原理:
事物的本质.
由表及里的说明"是什么"的问题.
我们对本质理解得越深,我们的爱机运行代码的时候就会越轻松.
MyClass myClass = new MyClass(); 本质是什么呢?
1.为什么 myClass = new MyClass(); 会报错?
2. 为什么 MyClass myClass;
myClass.Method;也会报错?
一句最平常的MyClass myClass = new MyClass(); 其包含了三个过程
MyClass myClass 在栈中申请一段内存
new MyClass(); 在堆中申请一段内存,并返回此段内存的地址;
"=" 将返回的地址保存到MyClass myClass所申请的那段内存中.
1.栈中没有申请内存,保存到哪里?
2.栈中所申请的内存还是空值.怎么去找myClass.Method的地址?何况堆中根本就没生成这段内存
框架让自己轻松--大部分问题不用自己亲自解决
模式让团队轻松--在自己解决问题的同时,你的设计方式拥有更高的可读性
原理让机器轻松--理解了原理是我们提高程序性能的依据