Pattern in architecture is the idea of capturing architectural design ideas as archetypal and reusable descriptions. The term "pattern" in this context is usually attributed to Christopher Alexander ,  an Austrian born American architect . The patterns serve as an aid to design cities and buildings . The concept of having collections of "patterns", or typical samples as such, is much older. One can think of these collections as forming a pattern language , whereas the elements of this language may be combined, governed by certain rules.
Before the next step you need to choose where to place the buttons and holes. Fold the wrap in half. I placed that folded edge on my shoulder and held the wrap together at a comfortable spot under my arm where it seemed like a good spot for the first button to be if I were wearing it on only one shoulder. For me this was about 5 inches below my underarm. The same spot where the bottom edge of my bra sits. When I wear the buttons on my shoulder this placement of the button holes adds a flattering drape to the collar edge. There is a V-shaped collar with buttons worn in front. Mark this meeting point in the two spots along the edge. Use stitch markers or bobby pins. One marker indicates where you want to sew on the button, the other is where you will make the button hole. For me this spot was 14 inches from the folded edge for the first button and 17 inches from the fold for the second one. My buttons are 7/8” and skipping two chains to create the button hole was a good size. If your buttons are smaller or larger you will have to adjust the size of the button hole you create. You could customize the wrap by using more or different size buttons.
I use static final to declare constants and go with the ALL_CAPS naming notation. I have seen quite a few real life instances where all constants are bunched together into an interface. A few posts have rightly called that a bad practice, primarily because that's not what an interface is for. An interface should enforce a contract and should not be a place to put unrelated constants in. Putting it together into a class that cannot be instantiated (through a private constructor) too is fine if the constant semantics don't belong to a specific class(es). I always put a constant in the class that it's most related to, because that makes sense and is also easily maintainable.