我有一些管理一些数据的类。它们都与服务器同步,同步由一个名为startSync
的方法启动。我希望超级方法检查是否需要同步,如果在子方法启动同步之前不能停止同步。
我想到了一些选项,但不确定哪一个是实现它的最佳方式。我在Objective-C中工作,因此需要考虑添加一些变量。
A)使方法返回一个布尔值,并让子实现调用超级实现并检查布尔值,如果为假则返回false。但是,编写子类并实现该方法的人不会总是知道该怎么做
B)创建一个doSync
抽象方法,超级类从startSync
方法调用,该方法将从类外部调用。这具有副作用,即不知道调用哪种方法并且意外地覆盖错误的方法
C)与B相同但是" doSync"方法受到使用"内部"头。这会产生意外覆盖错误方法的副作用,因为他们不了解内部标题,但外部课程不了解doCall
方法以跳过检查。
如果其中一个是最合适的,或者有更好的选择,我正在寻找的是输入。