Function 关于面向对象的设计与开发;面向过程的设计

Function 关于面向对象的设计与开发;面向过程的设计,function,oop,design-patterns,Function,Oop,Design Patterns,我有一个关于面向对象设计的基本问题。什么是更好的面向对象设计或面向过程设计 举个例子 我根据一些参数设计了一个发送邮件的util。如果我以面向过程的方式设计,我会这样做 MailUtil.sendMail(String username, String passwork, String subject, String message, String toList, String bccList, ...) 如果我以面向对象的方式设计它,我将如下所示 MailUtil.sendMail(IMai

我有一个关于面向对象设计的基本问题。什么是更好的面向对象设计或面向过程设计

举个例子

我根据一些参数设计了一个发送邮件的util。如果我以面向过程的方式设计,我会这样做

MailUtil.sendMail(String username, String passwork, String subject, String message, String toList, String bccList, ...)
如果我以面向对象的方式设计它,我将如下所示

MailUtil.sendMail(IMailContentProducer)


这不是一个真正的“最好的方法”问题

与其说是正确的方式,不如说是您希望代码的编写方式:

POD:一个快速发展、不灵活的系统,不经过调整就很难重复使用


OOP:一个开发较慢、更灵活、易于重用的系统。

当我们采用OOP时,它真的“开发较慢”吗?两者都需要相同的时间:(当你在oop(设计、考虑可重用性、依赖性限制等)上花费大量时间时,你会在下一个项目中获得它+代码可维护性,所以…总的来说,你会获得时间
definition of IMailContentProducer
interface IMailContentProducer {
     String getUserName(),
     String getPassword(), 
     String getSubject(),
     String getSubject(),
     String getToList(), 
    //etc...
}