ZiggyCreatures.FusionCache.Abstractions? #62
Replies: 5 comments
-
Hi @adambajguz , In the case of FusionCache though, the main package only depends on 2 other packages which are Can you elaborate more about why you think this would useful? I'm interested in understanding more. Anyway I'm certainly open to the change if there's a real advantage. Thanks! |
Beta Was this translation helpful? Give feedback.
-
Hi @jodydonetti, However ".Abstractions" may result in easier/better compatibility for plugins etc. It is less likely for ".Abstractions" to have breaking changes in existing API, so even updating major versions should be easier, e.g. old plugin is guaranteed/more likely to work properly with newer version. Also having ".Abstractions" package means concrete implementation and usable interfaces are separated - this can be used in complex applicaitons, where cache is configured in one assembly and is used in another, explicilty dissalowing access to concrete implementation classes (this is an example of a very pedantic and safe approaoch where we want to have an application layer consisting of only very very stable external interfaces). Finally, in my opinion ".Abstractions" package helps to understand the library code as it is much easier to identifiy important files and their default implementation. |
Beta Was this translation helpful? Give feedback.
-
Almost forgotten to write: I think ".Abstractions" do not require |
Beta Was this translation helpful? Give feedback.
-
In this approach would you supposedly also use an "Abstractions" namespace (on top of the separate packages) or would you keep the same namespace but only split packages? I've seen both approaches and I'd like to start gathering the community's position on this while I think about it. |
Beta Was this translation helpful? Give feedback.
-
I always use namespaces without ".Abstractions" (by adding |
Beta Was this translation helpful? Give feedback.
-
Hi @jodydonetti,
have you ever considered extracting interfaces and common classes to separate library like
ZiggyCreatures.FusionCache.Abstractions
?This may allow plugins and higher app layers not to depend on main package.
Beta Was this translation helpful? Give feedback.
All reactions