怎么阅读magento2源码

magento的代码高度模块化,阅读时一般分模块阅读。在阅读某个模块的代码的时候可以把代码大致分成三类:

  1. 实现/继承了其他模块的接口/类的代码

  2. 本模块对外定义的接口/类

  3. 本模块内部使用的接口/类

对于第1类代码,需要在熟悉关联模块的代码的基础之上再阅读(或者说在读之前,先要阅读关联模块的代码。)。这类代码一般处于和关联模块名同名的文件夹下。

对于第2类代码,模块可能会定义多个类和接口,这些类与接口之间的组合关系可能会用到行为型模式,比如:策略模式、状态模式、观察者模式等等。(通常都只是简单组合,行为型模式本质就是低耦合,只是组合之外符合特定行为定义而已。)

对于第3类代码,模块之所以定义这些接口/类是为第2类代码服务的,这类代码定义的接口/类与第1类代码定义的接口/类要么是继承关系,要么是组合关系。如果是组合关系,通常会用到结构型模式,比如:桥接模式、组合模式、装饰模式、代理模式等等。这类代码一般处于模块子目录文件夹里。(结构型模式本质是高内聚,涉及的类都将实现同一个接口)

发表评论