Hi everyone!
The Polylith team (me, Furkan, and James) have been having an internal discussion about whether we should rename `base` to `gateway`.
gateway
is more descriptive about the role that building block plays in a Polylith artefact, but `base` is already established in our documentation, and doesn’t overlap with an existing computing/networking concept.
We would love to hear your opinion about this potential change (in this thread)!
Nice feedback @allandaviesza, sounds reasonable.
If the “normal” cardinality is one base in each project, then I would say stick with bases
at this point as it makes sense with the LEGO analogy: each project
is built from one base
and a bunch of components
. In general. Even if a base is reused across multiple projects. And even if occasionally a project
somehow combines multiple bases
.
Please add your comment here!
Also, if you have another name suggestion, then we’d love to hear that too! 🙂
Hi guys! I have been learning polylith since two days and I love it! 🙂
For a new comer, base
maybe difficult to understand without reading the documentation! I’m wondering if a base
can be used in different projects
?
gateway
is more understandable. What about service
?
Here’s some suggestions from me: api
entrypoint
baseplate
I would appreciate descriptive names over generic ones
We used the word service
earlier for what we today call project
. A project can be a service
if you put the right combination of components
, libraries
and a base
in it (the base exposes the code as a service) which is an indicator that it’s not the right word for the concept @jean.boudet11.
We discussed api
and we came to the conclusion that a base
consists of both an api
and a thin implementation that delegates to components
. A component has a similar relation to its interface
, which also is why interface
is not the best name for a component
@david043.
I should have mentioned that your other two suggestions were just fine! 😃 @david043
I don’t think gateway
is any more descriptive than base
— and I think most uses of gateway
in IT refer to something that wraps an external service (often a database, as in data gateway
). See https://martinfowler.com/eaaCatalog/gateway.html for example.
I would have suggested service
if it didn’t already have prior use in an earlier version of Polylith. I like entrypoint
but it’s overly verbose. I agree base
is somewhat nondescript/opaque and potentially confusing for newcomers but I’m not sure what to suggest as being better.
Good input @seancorfield!