2016 - 2024

感恩一路有你

java重写compare方法 Service层和Dao层真的有必要每个类都加上接口吗?

浏览量:1499 时间:2021-03-10 15:28:46 作者:admin

Service层和Dao层真的有必要每个类都加上接口吗?

这主要取决于您的项目:

例如,如果项目中使用了hibernate,以后可能会切换到mybatis,那么Dao需要使用这个接口。这不会影响上层代码的更改。

另一个例子是,项目是一个单一的应用程序。任何代码修改都需要重新编译整个项目,因此不需要接口。如果项目是由模块编译和部署的,那么可以使用接口解耦。假设修改了Dao,只需要重新编译和部署Dao模块,而不影响上层模块。

此外,如果项目团队中有许多新手,简单的代码结构可能更合适。复杂项目结构的学习成本较高。

如果工程进度非常紧迫,我们可以用简单粗暴的方式用经济成本来说明原因。

使用接口的成本是不使用接口的成本(包括后续维护成本)。

如果项目变化很大,部署了模块,项目不急,使用接口的成本比不使用接口的成本低,虽然早期不使用接口似乎更简单;相反,不使用接口的成本低,而且连框架都不能用~

毕竟工具是提高效率的,那你为什么不能和自己相处呢

如何重写abstractexecutorservice?

任务扩展runnable或callable<T>和comparable。然后将ThreadPool executor和priority blocking queue更改为queue,并且只接受任务,您的接口。出于您的考虑,它看起来像是一个扩展ThreadPoolExecutor并重写submit()方法的选项。请参阅abstractexecutorservice以查看默认值。他们所做的是在futuretask中包装runnable或callable并执行()它。我认为可以通过编写包装类、executorservice和委托给内部ThreadPoolExecutor来实现这一点。包装器具有您的优先级,以便您的比较器可以获得它

java重写compare方法 重写compareto排序方法 web负载均衡的几种实现方式

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。