org.springframework.data.domain包中 PageRequest源码的疑惑

先贴上部分源码

/** @deprecated */
    @Deprecated
    public PageRequest(int page, int size) {
        this(page, size, Sort.unsorted());
    }

    /** @deprecated */
    @Deprecated
    public PageRequest(int page, int size, Direction direction, String... properties) {
        this(page, size, Sort.by(direction, properties));
    }

    /** @deprecated */
    @Deprecated
    public PageRequest(int page, int size, Sort sort) {
        super(page, size);
        this.sort = sort;
    }

    public static PageRequest of(int page, int size) {
        return of(page, size, Sort.unsorted());
    }

    public static PageRequest of(int page, int size, Sort sort) {
        return new PageRequest(page, size, sort);
    }

    public static PageRequest of(int page, int size, Direction direction, String... properties) {
        return of(page, size, Sort.by(direction, properties));
    }

作者将构造方法标记为废弃,希望我们通过该类中的静态方法of(...)去创建实例。
这样做的目的或者好处是什么

繁星淼淼
浏览 3140回答 1
1回答

尚方宝剑之说

利用构造方法,调用处写死了必须使用new来创建新的对象,对象的控制权在调用处,而调用of方法则把生成对象的控制权保留在了PageRequest类中,后期如果需要扩展则在PageRequest类中进行扩展即可
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java