此代码取自org.glassfish.jersey.grizzly2
项目,方法名称表示,createHttpServer
应负责“仅”用于创建和返回{{1}的实例1}}类,我只是想知道为什么要以这种方式封装HttpServer
调用?
HttpServer.start
答案 0 :(得分:1)
Single responsibility principle in wiki说
每个班级都应该承担一项责任,并且该责任应该由班级完全封装。
SRP旨在实现松散耦合和稳健性。它确实有助于开发人员保持相同,同时保持其良好运作。
所以,如果有一些内部方法或类,我会同意。
公共API的设计目标完全不同。
希望这有帮助。
答案 1 :(得分:0)
我看到的唯一优势是用户必须编写更少的代码。我完全不同意这种做法。如果它说“创建”,那么它应该只创建。无论如何,就其在文件中明确规定而言,这样做是“可以的”......这不是我见过的最严重违反SRP的行为......