#function #oop #design-patterns
#функция #ооп #шаблоны проектирования
Вопрос:
У меня очень простой вопрос по объектно-ориентированному дизайну. Что лучше объектно-ориентированный дизайн или процедурно-ориентированный дизайн?
Рассмотрим пример.
Я разрабатываю утилиту для отправки почты на основе некоторых параметров. Если я разрабатываю процедурно-ориентированный способ, я буду делать вот так.
MailUtil.sendMail(String username, String passwork, String subject, String message, String toList, String bccList, ...)
Если я спроектирую это как объектно-ориентированный способ, я сделаю, как показано ниже
MailUtil.sendMail(IMailContentProducer)
definition of IMailContentProducer
interface IMailContentProducer {
String getUserName(),
String getPassword(),
String getSubject(),
String getSubject(),
String getToList(),
//etc...
}
Ответ №1:
На самом деле это не вопрос «наилучшего способа»,
Это гораздо больше о том, как вы хотите, чтобы ваш код был выполнен, чем о правильном способе его выполнения :
POD: быстро разрабатываемая, негибкая система, которую трудно повторно использовать без настройки.
ООП: более медленно разрабатываемая, гибкая и легко повторно используемая система.
Комментарии:
1. действительно ли «медленно развивается», когда мы переходим к OOPS? оба варианта занимают одинаковое время: (
2. Время, которое вы тратите на ооп (проектирование, продумывание возможности повторного использования, ограничение зависимости и т.д.), Вы получаете в следующем проекте удобство сопровождения кода, так что … в целом вы выиграете время