This is a continuation of the earlier posts starting with this one: http://ravinote.blogspot.com/2020/09/best-practice-from-networking.html
The state of an object is authoritative. If it weren’t the source of truth, the entries themselves cannot be relied on without involving validation logic across entries. There is no problem performing validations but doing them repeatedly not only introduces delays but can be avoided altogether with a clean slate.
The states are also representative and unique. The entries are not supposed to be in two or more states at once. It is true that bitmask can be used to denote conjunctive status, but a forward only discrete singular state is preferable.
The attributes in an entry are often added on a case-by-case basis since it is expedient to add a new attribute without affecting others. However, the accessors of the entry should not proliferate the attributes. If the normalization of the attribute can serve more than one accessor, it will provide consistency across accesses.
Background tasks may be run or canceled. Frequently these tasks need to be canceled. If they don’t do the proper cleanup, they can leave their results in a bad state. The shutdown helps release the resources properly
The list of background tasks may need to include and exclude the tasks as they appear or disappear. This is, in addition, to start and stop on each task. If the start and registration are combined, the stop and deregistration must also be combined.
No comments:
Post a Comment