java – 没有反射就可以确定要运行的类
作者:互联网
所以我处在一种情况,我希望有一个包含要运行的类的对象数据库.它看起来像:
id | Description | pricingClass
1 | "static pricing" | staticDeliveryPrice.class
2 | "Dynamic pricing" | dynamicDeliveryPrice.class
这样做的目的是允许我的编码灵活.我的想法是,这将允许多种方式来确定如何计算deliveryMethod的价格.
我担心的问题是,在这种情况下反映不好吗?有没有更好的方法呢?它是否遵循坚实的原则.(我会说是的,但我的一部分不同意).
解决方法:
您正在描述基于插件的架构.你真的需要这种灵活性吗?通常需要在以下时间:
>项目之外的人需要在没有您干预的情况下为代码添加新功能
>您希望允许运行时修改程序.
否则,它完全矫枉过正.您可以完全控制产品中的内容,因此您可以简单地依靠良好的旧多态来隔离功能的不同实现.
此外,将业务逻辑放在数据库中并不是一件好事:你混淆了问题,你创建了强大的耦合(突然重命名类会变得烦人!),当然,更难以推断代码中发生的事情只是看着它.
标签:java,oop,database,solid-principles 来源: https://codeday.me/bug/20190611/1218029.html