FAQ terminology harmonisation
Thu Apr 3 09:13:22 CEST 2003
Rick Pettit wrote:
> Put another way, most all my objects ARE defensive, and
> might as well be placed "on the border". Since this is true,
> I can reuse an internal object on the border without worrying
> about crashes. I can make calls to it from anywhere and know
> that it is well behaved.
>The same is NOT true with an Erlang
> module that is coded to crash on bad data since it is not meant
> for border use. It would be a big mistake to use such a module
> in a border case, and thus it is important as an Erlang/OTP
> developer to make crystal clear the distinction.
I have been promoting the use of processes as an interface
mechanism. Precisely because of reuse issues, it is an important
method of integration. Make all your code non-defensive and
use a process at the border to do any data filtering to ensure
that the reusable code doesn't get bad data. You can also use
the filter process to alter the data to match the reusable code's
interface if necessary.
More information about the erlang-questions