Extracting Data Objects
Some methods have many parameters. As we saw in the previous section, sometimes that's due to optional parameters that tell the method to behave in an alternative way.
Other times, we are just passing a lot of data through to the method.
Here's an example of this scenario:
public async saveUserDetails( id: number, employeeId: string, firstName: string, lastName: string, emailAddress: string, phone: string, fax: string, ) : Promise<void> { // Save the data. }
You might use it like this:
await saveUserDetails(id, empId, firstName, lastName, emailAddress, phone, fax);
That's a lot of individual variables that we need to be aware of.
Note
If you've read the chapter on primitive overuse, you might notice that we are using primitive types everywhere. One way to make this better would be to create value objects!
These parameters are not telling the method to behave in a certain...