Your comments

Because if it suites your needs and it works, I personally would have left it as it is and only attempt to make the changes when something in the app changes and affects these Store classes so that you have a strong reason to refactor the whole thing.

What are the negative sides of the current design apart from your Senior Dev criticism? Do you find it good enough?

Hi!

Thank you! Would you be so kind as to make a pull request with a fix to this repository? https://github.com/RefactoringGuru/design-patterns-python

Спасибо за тёплые слова, Александр. Рад, что вам всё понравилось.

In other words, you would have a single Store class (Singleton), and a hierarchy of StoreStrategy (for a lack of better name) classes.

Hi!

I'm not sure why do you need a Singleton here, most likely to get a way to access the store instance globally. If so, have you considered separating this "accessor" and the actual store functionality into separate classes? This way you won't have to create subclasses of the singleton, which is indeed not convenient. Instead, the Singleton class can act as context for the strategy classes.

Thanks for the idea, Sean! Since I'm not a C++ programmer myself, I would need a volunteer to do it. If anyone is willing to do it, please shoot a pull request to this repo: https://github.com/RefactoringGuru/design-patterns-cpp

Hi!

We do let you download the invoice after purchase, however, please be aware that it's not a Chinese "fapiao" invoice, since we're a foreign company.

All right, this was easier than I expected. I added the "Refactoring.Guru" LinkedIn organization, it's now discoverable. The rest is straightforward:

1. Finish the course and open your certificate, here's an example:

2. Note the certificate ID, beginning with the # on the bottom left, and the certificate URL on the very bottom. Put those into Credential ID and Credential URL on LinkedIn, like this:


3. As a result, you'll get a shiny block like this on your LinkedIn profile:

Hi David!

Thanks, this is a great question. I'll see how this can be done.