技术是对设计思想的实现,一种设计思想可以有多种实现方式。
比如:我们如何理解“延迟加载”,有个人准备下个月去你家住几天,你有必要这个月就把屋子腾出来吗?这个月就当他不存在,等他来了再说。
设计研究的就是 如何处理对象 以及 对象之间的(利用)关系
设计思想源于生活中遇到的问题,而大部分问题出自对象之间错综复杂的关系
比如:解决婆媳关系问题一个最简单的方法就是不要让他们住在一起
设计的一个目标是:尽量使整体中的每个对象能够独立发展互不影响,即对象之间解耦合
从利用者的角度出发,就是我在什么时候去利用哪些对象。
比如:不直接获得被利用对象而是通过第三方获得(利用第三方解耦)(或者说通过第三方处理这些利用关系)就是IOC(控制反转或依赖注入)技术
从被利用者的角度出发,就是我被哪些对象在什么时候利用。
比如:把一些经常被利用的对象单独拿出来就是AOP(面向切面编程)技术