首页>itarticle>some not super obvious terminologies in software engineering
some not super obvious terminologies in software engineering
admin11月 13, 20200
Also with some significant knowledge bound to those terms
Client: The caller, executor or user of other operations/functions
Abstract operations: the operations that an abstract class declares but doesn’t implement.
Mixin class: a class that’s intended to provide an optional interface or functionality to other classes. Mixin classes require multiple inheritance. (Interface in Java)
Reuse Mechanisms:
class inheritance
internals of parent classes are often visible to subclasses
white-box reuse
object composition
new functionality is obtained by assembling or composing objects to get more complex functionality
knows the interface (not implementation) of the composing objects
black-box reuse
Delegation:
Wwo objects are involved in handling a request: a receiving object delegates operations to its delegates.
Is a good design choice only when it simplifies more than it complicates. (Dynamic, highly parameterized software introduces run-time inefficiencies and more importantly human inefficiencies, e.g. harder to understand)
近期评论