OOP在一定程度上存在是否是有利于开发呢?我现在想设计一个Buff系统,每个buff都有生命周期函数(OnBuffAwake/OnBuffRefresh/OnBuffDestroy等)。
按照OOP的做法,应该设计public abstract class buff,其中包含各生命周期的虚函数。然后对于不同类型的buff,如直伤Buff,DOTBuff,更改数值Buff等,派生自这个基类,重写虚函数,实现各自的生命周期功能。
按照ET的做法,应该设计public class buff: Entity,将各生命周期函数写在BuffSystem里,然后在其中根据不同的buff类型做逻辑分发。buff如果有一二十种类型,写起来感觉每个生命周期函数体代码量极大,不是很简洁。
请赐教,这种情况用OOP写法是否能够显得简洁一些。