Curriculum vitae builder example using fluent builder pattern
We can play with the interfaces and force the usage of an object, also to ensure we have the object in the format we need.
CVBuilder is an example of how we can use fluent builder pattern to build complex objects. For sure we can use the clasic implementation and the builder will not fit in all scenarios.
CVBuilder includes items like:
- fluent builder pattern,
- Nunit tests to prove is working,
- validation using Fluent validator .net core nugget,
- printer into the test output,
- extension method,
- abstract class and interface segregation.
Things to improve:
- validation,
- code separation in partial classes,
- more accured documentation for the methods.
Note: Eveything can be improved if I would have more time. The validation are not complete yet, the validators needs to be adjustes, for example the email validation, phone validation and so on.