polylith

https://polylith.gitbook.io/ and https://github.com/polyfy/polylith
tengstrand 2021-04-05T13:31:26.032100Z

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)!

1
tengstrand 2021-04-06T08:41:14.042700Z

Nice feedback @allandaviesza, sounds reasonable.

seancorfield 2021-04-06T17:01:09.066900Z

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.

👍 2
tengstrand 2021-04-05T13:32:09.032200Z

Please add your comment here!

james 2021-04-05T13:33:40.032400Z

Also, if you have another name suggestion, then we’d love to hear that too! 🙂

Jean 2021-04-05T14:09:28.036500Z

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?

👍 1
2021-04-05T14:15:54.039300Z

Here’s some suggestions from me: api entrypoint baseplate

tvaughan 2021-04-05T14:29:34.039700Z

I would appreciate descriptive names over generic ones

tengstrand 2021-04-05T14:33:24.039900Z

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.

tengstrand 2021-04-05T14:38:37.040100Z

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.

👍 1
tengstrand 2021-04-05T16:00:30.040400Z

I should have mentioned that your other two suggestions were just fine! 😃 @david043

😄 1
seancorfield 2021-04-05T17:44:07.040700Z

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.

seancorfield 2021-04-05T17:52:21.040900Z

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.

tengstrand 2021-04-05T19:16:49.041100Z

Good input @seancorfield!