问题
I'm just wondering what "implementation-agnostic" means? I didn't find any explanation. I mean it in this context: "an implementation-agnostic engineering approach".
回答1:
The opposite of "implementation-agnostic" is "implementation-specific". Some examples should make the difference clear:
Implementation-agnostic
Synonym: Implementation-independent
Examples:
- Sorting algorithm "Quicksort"
- Algorithms written in pseudo-code
The examples above can be implemented with every language
(Assembler, BASIC, C#, C++, Java, JavaScript, ...)
Implementation-specific
Synonym: Implementation-dependent
Examples:
- Device drivers
- Machine language code for Intel processors
The examples above run only on the hardware they are written for.
But also software that depends on other software, drivers, operating systems, services or frameworks is implementation-specific (for example, although .NETs intermediate language MSIL can run on different hardware or operating systems, it still depends on the .NET framework and hence is implementation-specfic).
回答2:
This is often used to discuss a problem without committing to a particular implementation. Doing so may lead to choosing an implementation / tool that's best suited for the problem rather than having to worry about the limitations of an already chosen solution during the problem definition.
回答3:
Agnostic, in this context, means "doesn't care about". So implementation agnostic is something that does not care about the implementation.
回答4:
To say that a solution is implementation-agnostic is to say that it's not reliant on specific technologies, programming languages etc. Pseudocode would be a good example of an implementation-agnostic tool, as would UML for modelling.
来源:https://stackoverflow.com/questions/10969057/what-does-implementation-agnostic-mean