创新互联GoFrame教程:GoFrame框架设计-隐式与显式初始化

我们知道在程序启动时会需要执行一些"初始化"的逻辑操作,例如:​Server​配置、各种数据库(​MySQL​、​Redis​、​Kafka​等)配置、业务对象配置等等。绝大多数场景下,我们有两种初始化方式:隐式初始化和显式初始化。

创新互联主营南溪网站建设的网络公司,主营网站建设方案,App定制开发,南溪h5小程序定制开发搭建,南溪网站营销推广欢迎南溪等地区企业咨询

一、隐式初始化

隐式初始化一般通过包初始化方法​init​执行初始化。需要注意的是,如果初始化逻辑存在错误的可能,由于​init​方法的错误无法被上层捕获,初始化出错时往往直接终止程序启动。例如:

隐式初始化出错时往往直接终止程序启动

隐式初始化的好处是不需要手动调用初始化方法,对于开发者隐藏了初始化细节,因此开发者没有心智负担。但是缺点也同样如此,开发者不知道初始化细节,一旦出现错误时,很难快速定位错误原因。因此使用隐式初始化时,往往要求在初始化出错时将详细的错误以及堆栈信息打印出来便于错误定位。

GOFrame​框架的很多模块都采用了隐式初始化,隐藏模块的初始化细节,减少开发者的心智负担。例如:

GoFrame​中的模块普遍存在隐式初始化设计

关于包​init​方法的初始化流程:

二、显式初始化

显式初始化要求开发在程序启动时,如在​main​或者​boot​模块中,调用特定的方法来执行初始化操作。一般来说,基础组件的初始化往往采用隐式初始化多一些,因为对于使用者来讲并不关心底层基础模块的初始化逻辑,而业务模块的初始化大多数会采用显式初始化。例如:

在​boot​包中按照顺序执行显式初始化

在​main​包调用​boot.Boot()​方法执行初始化

三、如何选择

在业务场景下,非特殊必要,我们建议大家采用显式初始化的方式,以保证更好的可维护性。

网页名称:创新互联GoFrame教程:GoFrame框架设计-隐式与显式初始化
转载来于:http://www.mswzjz.cn/qtweb/news37/288887.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能