产品是由技术 + 业务 组成的,业务转变成可行的需求,通过工程的方法,利用技术输出到产品中,用户通过软件来感知我们的核心价值。
技术实现并支撑着业务,业务也对技术提出了要求。

技术之上是技术相关的理论,比如设计模式、函数式、MVC、响应式等思想,整体可分为三个层次,我们的架构思想、框架的架构思想、具体的库和模块的设计。
选用了一个框架,就确定了一种代码组织方式以及目录结构的拆分,比如vue + vuex的components、directives、filters、store,比如angular的componets、service、directives等。每种框架封装的形式、组织代码的方式都不一样。框架之下就是具体模块的设计,我们可能选用某种库,比如echarts,然后和框架结合,变成 vue-charts组件、ng-charts组件等。框架和具体的模块之上,是我们自己的架构思想,我们使用框架的思想去架构代码,但是整体的方案以及具体模块的设计包括框架的选择,都是由我们的架构思想决定的。

业务方面也是,业务所处领域的知识,一些成熟的模式还有具体业务模块的设计,这些都是由我们对业务领域的认识和思考决定的。

整体来一个产品产生的过程

其中业务和技术是双向驱动的,技术扩展业务边界,给业务提供了更多可能,业务也对技术提出了更高的要求,使得技术得以发展。同时技术实践对技术理论、业务实践对业务领域知识都有反馈和提升的作用。

网友评论