这更像是一个道德问题,但我很好奇。
所以,有策略模式,你有一个策略接口,有几个实现和一堆方法,把策略接口作为参数。
让我们假设以下示例:
Interface: SearchStrategy
Class: StringSearch implements SearchStrategy
Class: IntSearch implements SearchStrategy
etc.
然后有一个方法像
doSearch(String a, String b, SearchStrategy strategy)
您将如何处理策略对象?传递一个实例或类?
A:doSearch("Hello","World", new StringSearch());
或者
乙:doSearch("Hello","World", StringSearch.class);
因此,创建一个实例并传递它,或者传递 Class 对象并让该方法创建一个实例。什么是更好,更清洁的方法?
性能怎么样?当然,在功能强大的服务器上,性能不会有显着差异,但是只有少量资源和慢速处理器的嵌入式系统呢?