They are mostly used as concurrency control constructs. They adhere and support Sync interface and conform to acquire release protocol. It adheres to a set of permits initialized in a constructor. A semaphore can also be described on the basis of a metaphor.
Template method is the most common way of representing. Implementation of a method differs for files, sockets, pipes, strings, text entry widgets, etc. When template method is used logic of the entire class is modified. Missing logic can be called by abstract and concrete methods.
There are various different patterns and they can be divided into these patterns they are: -
Delegation, Interface, Immutable, Proxy and marker interface are some of the sub divisions present in Fundamental interface.