#object-oriented-programming #r-development #software-architecture #design-patterns