My friend and I routinely have conversations about factory design.
His ideal factory ships every ore in its raw state to a single building, which can then move the ore to different floors/sections for processing. He goes further than most and separates each product into its own "room", so all steel bars are made in one room then shipped to the steel beam and steel pipe rooms. Importantly the factory should be designed so that you can "infinitely" expand a room if you need more of that resource.
I prefer what I call "microfactories", where each component is created in a small, independent factory and the result is shipped to a main repository for builder use and for the space elevator construction. If you need modular frames, for example, you would find a group of ores and build a small factory on it and build every sub-component you can in it. Ideally, it would not rely on any other microfactory's outputs, but sometimes that's easier said than done. Often I will have a small cluster of microfactories all dedicated to shipping their output to a final microfactory for processing.
So what do you all use?
Note: He claims his design is more analogous to microservices (from software architecture) than mine, and that mine is something apparently called "pirate architecture". I think he's out of his mind on that one.
I very much lean towards the microfactory approach - locate a cluster of resources within reasonable belting/piping distances, design a factory which can consume the cluster's entire production of the limiting resource (clocking others to match) to make 1 output or maybe 2, then provide that output to the rail network. Some production chains make it easier to have certain inputs taken from the rail network.
Within one of these factories, items are refined further for each floor they ascend but I rarely enforce a 1 product/floor rule - in particular I find it convenient with many Assembler/Manufacturer recipes to have an input that is directly fed from a single Constructor using clock speed to match production with consumption. This usually means each microfactory underclocks its most power hungry buildings a fair bit which keeps their consumption moderate. Each microfactory ideally has a single priority power switch to turn off its entire production chain if its consumption is becoming a problem and I set up a priority sequence for them.