There is no one-size-fits-all answer to these questions, as the best approach may vary depending on the specific requirements and constraints of the dApp you are building. However, there are some general guidelines and best practices that can be followed when developing a dApp on TON.
One resource that may be helpful is a series of tutorials that provide step-by-step instructions for deploying contracts and writing FunC code. You can find these tutorials at https://ton-community.github.io/tutorials/01-wallet/.
In addition, the TON website (https://ton.org/) offers a wealth of information and documentation on all things related to TON. While it may not be organized in the most systematic way, it can be a valuable resource for developers looking to build on the platform.