I'm on the fence. I want to let the player build like a sandbox but if I do that means villages don't need to make sense for instance, a player could build houses with no roads and shops that don't require any roads or streams that start from nowhere and end oddly.
On the flip side if I use an arbitrary requirement like needing a road beside the building it's just that -- arbitrary. No mechanic in the game requires roads, they're almost entirely there for the aesthetic and have no bearing on how the player interacts with the village.
For now I'm doing with sandbox style village where the player can place any building anywhere and just add roads if the feel like it, the only requirement for building stuff is that the player has the building available in their inventory.