Domain modeling is a tough and vast topic. I think hard and fast rules are difficult to come by. There are definitely guidelines and principles you can use though.
I've compiled some of my favorites to code a system to play the guitar like one of my favorite guitarists with #ruby
https://kevinjmurphy.com/posts/programming-guitar-greatness/