nesteruk / designpatternswebinar Goto Github PK
View Code? Open in Web Editor NEWMaterials for the Design Patterns webinar
Materials for the Design Patterns webinar
I notice the .at method for PersonJobBuilder and PersonAddressBuilder is the same. Can we just move that in .at method? Or is that a bad design?
The facet-builder is a nice pattern. However in the example, having the PersonBuilder instantiate an addition Person object for each sub-factory seemed non-intuitive when you just need a single owner at an outer-scope to the fluent evaluation.
I suggest removing Person p; member from PersonBuilder, renaming PersonBuilder to BasePersonBuilder, and adding a new derived class called PersonBuilder that has the Person p; member and passes a reference to its base class in the constructor (the only new method).
As a result only one Person object is constructed, one move-Construct, one destroy of a moved object, and one final destruction of the owning person at program end occurs. Regardless of how many sub-factories are created.
Unless you see a flaw in this approach; I would suggest changing the example in a similar way for the benefit of anyone borrowing the pattern implementation and implementing their own version with many more sub-factories on objects with potentially non-trivial default construction.
Regards.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.