懒式初始化

区别于积极初始化(可能是这个名字),懒式初始化在使用的时候才会进行初始化(当然,这种简单的情况下是没有区别的)

针对比较复杂的场景,懒式初始化才会展示区别:

这里用一下老师的代码:
在这里插入图片描述
这里的_navigatedToCommand在用户点击之后(也就是近似于触发NavigatedToCommand事件时),才会初始化对象

这种情况下,假如有很多类似_navigatedToCommand,如果在定义的时候就初始化,这将会非常耗时,并且有相当多的_navigatedToCommand即使被初始化了,也没有被使用。

总而言之,懒式初始化要实现类似于“时间差”的效果,按需加载

微软也提供了一套标准的解决方案(这种行为很微软):
再次借用老师的代码:
在这里插入图片描述
这里_lazyNavigatedToCommand需要在构造函数中初始化(Lazy会帮助实现懒式初始化的逻辑)
这种写法,确实稍微有点麻烦(估计老师得要求我们用这种复杂的方式了),但这种方法能保证线程安全

这种思想我认为是比较重要的,至于Lazy的具体使用,如果我以后用到,可能会回来补充

老师的课提到了许多有价值的”理念“,我将来会慢慢将我认为有价值的内容发到我的”MAUI“和”经验“频道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值