polylith

https://polylith.gitbook.io/ and https://github.com/polyfy/polylith
2021-02-10T04:43:48.043400Z

hey everyone, I work with @domparry and @sneakypeet, I'm busy learning about Polylith, really like what you guys have done!

2021-02-10T04:45:45.044500Z

I was wondering how commonly profiles are used, and how many may be created for a larger project?

2021-02-10T12:24:04.045400Z

Am I correct in saying that, if I have two components that implement the same interface, I can use a profile to switch out the implementations or I can execute the code in the interface namespace which I want to develop against?

tengstrand 2021-02-10T13:21:14.045600Z

I think you understand correctly. If you have two components a1 and a2 and both use the interface a, all components and bases can only access the interface a and each project can only contain either a1 or a2 (not both, because you are only allowed to use each interface once per project).

2021-02-10T13:26:54.045800Z

roger that, thanks

👍 1
tengstrand 2021-02-10T05:29:52.045Z

Hi Allan and thanks for your pull request, fixing typos in the doc! I just merged it. When your system grows from being one single system into more than one, then you usually want to create profiles so that you can keep the single development environment/experience. That's what we have done in at least two of our Polylith projects. The Polylith codebase doesn't need profiles, even though it has several projects and the reason is that none of the projects/artifact communicates with a service/project that is part of the workspace, over the wire.

👍 1
tengstrand 2021-02-10T05:31:06.045200Z

That's really cool to hear. Hope you will enjoy the experience.