Skip to content

Add wiki page about factory patterns #493

Open
pavelkryukov opened this issue Jul 22, 2018 · 2 comments
Open

Add wiki page about factory patterns #493

pavelkryukov opened this issue Jul 22, 2018 · 2 comments
Labels
3 Features of medium complexity or infrastructure enhancements documentations Adds a new manual to Wiki. S1 — C++ To solve the issue, you barely need knowledge about CPU microarchitecture, just C++ coding.

Comments

@pavelkryukov
Copy link
Member

We use factory patterns for two classes: BP and Simulator, and we are going to spread the approach to new classes as well. Because of that we want to have the pattern described in our Wiki.

The structure of the page should follow the agenda:

  1. Motivation — why do we need factories?
  2. Step-by-step building: interface class, polymorphic derivatives, using std::map etc.
  3. Overheads and issues.
  4. Further reading (usually refers to books/articles author read to prepare the page).

I advise to look through "Gang of Four" book (a.k.a. Design Patterns: Elements of Reusable Object-Oriented Software, please demand it from the mentor), Wikipedia article, and our source code database (bpu.cpp and simulator.cpp).

@pavelkryukov pavelkryukov added documentations Adds a new manual to Wiki. 3 Features of medium complexity or infrastructure enhancements S1 — ISA To solve the issue, you need knowledge about MIPS or RISC-V ISA labels Jul 22, 2018
@pavelkryukov pavelkryukov added S1 — C++ To solve the issue, you barely need knowledge about CPU microarchitecture, just C++ coding. and removed S1 — ISA To solve the issue, you need knowledge about MIPS or RISC-V ISA labels Oct 18, 2018
@davtyan-arsen davtyan-arsen self-assigned this Nov 26, 2018
@davtyan-arsen
Copy link
Contributor

So, could I get a copy of the book somehow?

@pavelkryukov
Copy link
Member Author

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
3 Features of medium complexity or infrastructure enhancements documentations Adds a new manual to Wiki. S1 — C++ To solve the issue, you barely need knowledge about CPU microarchitecture, just C++ coding.
Projects
None yet
Development

No branches or pull requests

2 participants