对框架的一些理解

    框架就是一个完整的流程,是一个黑匣子,它规定了应用程序的体系结构,且把整个流程的各个环节基本上都已实现,并把流程串起来了,用户要做的事,就是实现自己的业务逻辑,然后通过即定的步骤,按部就班的把自己的业务逻辑注入到这个流程中,然后启动,框架就会执行你的业务逻辑。比如hadoop,一个完整的mapreduce其实很复杂,可能包括input->map->partition->sort->spill->mergereduce->output,但一般来说,用户只需要编写自己的业务逻辑即可,即map和reduce,因为其他的环节都可以使用默认的处理方式,框架都已提供好了。如果用户不想用默认的处理方式,可以自定义InputFormat、Partition、OutFormat。

    框架就是一个容器个容器包含着很多组件,容器管理着组件之间的关系,分配协调它们之前的工作。比如tomcat、它有Connector、Container、Service,用户只需要继承HTTPServlet或实现Servlet来自定义一个Service,注册到容器中,就可以对外提供http服务了,容器管理着它的整个生命周期。
    框架就是设计模式的集合,并且符合单一职责、里氏替换、接口替换、开闭原则等原则。比如,tomcat就大量使用了责任链模式,一个请求过来,容器会将它一直传递到最终处理请求的servlet。tomcat、zookeeper、kafka、quartz都使用了观察者模式,即事件监听机制,也叫发布-订阅模式。
 
 

猜你喜欢

转载自jxauwxj.iteye.com/blog/2355990