【DNT精英论坛回顾】aelf高级技术经理赵奕旗分享.Net依赖注入在区块链项目aelf中的实践经验

aelf

09-09




       2019年9月8日,DNT精英论坛(暨.NET北京俱乐部 )第2期在北京微软大厦成功举办。论坛由资深.NET专家和社区活跃用户发起,以“分享、成长、合作、共赢”为原则,旨在打造一个领先的技术分享平台和成长交流生态。


      本次活动邀请到了红帽开放创新实验室高级咨询顾问陈计节、52ABP.COM 站长梁桐铭、aelf高级技术经理赵奕旗,三人分别就《.NET Core 云原生和 DevOps 实践》、《ASP.NET Core 和EF Core 3.0中的亮点和变化》、《.NET依赖注入在区块链项目aelf中的实践》三个话题进行了分享。


(52ABP.COM 站长梁桐铭进行分享)        


(红帽开放创新实验室高级顾问陈计节)    


       aelf高级技术经理赵奕旗结合aelf的设计理念和BCL应用DI的实例,从什么是依赖注入、设计模式五大原则(SOLID)、DI,IoC,DIP的区别、DI的三个维度这四个方面对.NET依赖注入在aelf中的实践进行了详细的分享和解读。

(aelf高级技术经理赵奕旗介绍ISP)

 

       在介绍到设计模式五大原则之一:Interface Segregation Principle (ISP,接口隔离原则)时,赵奕旗以aelf智能合约开发为例,做了简明的阐述:
 
       “aelf有一个跨合约调用的功能,在定义我们链上需要的智能合约的时候,我们定义了一些智能合约需要实现的接口,我们统称之为:ACS,即AElf Contract Standard。每一个ACS定义了一些接口,类似于我们平时在开发中定义interface的场景,开发者在做跨合约调用的时候,可以不用关心某些ACS中定义的接口具体是哪个合约实现的,只需要提供实现了这个ACS的某一个合约的地址就可以了。另一方面,每一个合约可以实现多个ACS,被其他合约做跨合约调用时,可能只对它实现的某一个ACS感兴趣,那么就可以仅仅依赖于这一个ACS,不会把这个合约的其他方法暴露给跨合约调用。这,便是对接口隔离原则最好的实践与阐述。
 

 

       “在aelf的代码实现过程中,我们会在链上对一些接口提供支持,比如说共识合约。因为aelf的设计理念就是希望区块链的共识是可以被替换的。目前我们采用的共识是DPOS,但是理论上,也可以支持其他的共识合约如POW或者POC等。因此,我们在代码实现的时候,把一个共识合约应该提供的服务抽象了出来:比如确认现在能不能出块?因为POW模式下是每个人都可以出块的,但是如果是POS或者DPOS的话,你需要经过一系列选举投票成为记账节点或者见证人才能进行出块;如果能出块的话,节点需要多长时间出一个块;出块的时候应当如何组织这个块的数据,同时这个共识合约还应该告诉你当你收到一个块之后,应当怎样去验证它等等。这个高度抽象归纳后的共识合约接口标准,我们将其定义为ACS4。
      (现场讨论气氛热烈)
 
       本次大会的参与者以技术爱好者为主,会上,赵奕旗就.NET依赖注入的技术细节问题等问题,引用了生活化的比喻并做出了详实的阐释,现场互动及讨论氛围热烈。
 
       聚焦区块链先锋技术,整合技术社区原创观点,aelf通过筹备一系列线下技术论坛,为开发者社区提供了更开放、更自由的沟通、交流分享平台。
 
       aelf将继续本着谦虚严谨的态度,技术研发的同时持续推进开发者社区建设,推动前沿技术理论的实践落地,为繁荣的生态研发奠定技术基础。



评论

暂无评论

推荐阅读

关注

闪电

原创 首发

09-28

关注

NULS

原创

08-30

关注

Vpower

原创 首发

09-27

关注

本体Ontology

原创

09-30

关注

博链财经

原创

09-01

关注

Conflux中文社区

原创

09-17

关注
关注

万向区块链

原创

10-16

关注

Vpower

09-18

关注
加载更多