Skip to content
Back to skills

реализация паттерна фабрика в C с чтением из файла

ASecurity

Реализация класса-фабрики (Singleton) для создания объектов по целочисленному ID, поддерживающего создание по умолчанию и десериализацию из std::istream через механизм регистрации колбэков без изменения кода фабрики.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
toolsc++

Security analysis

A100/100

Scanned September 27, 2026

npx -y skills add David-Li0406/meta-skill-evloving --skill 'реализация-паттерна-фабрика-в-c-с-чтением-из-файла' --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of реализация паттерна фабрика в C с чтением из файла?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for реализация паттерна фабрика в C с чтением из файла
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/david-li0406-meta-skill-evloving-95b84f6c/badge)](https://www.skillsdirectory.com/skills/david-li0406-meta-skill-evloving-95b84f6c)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
id: "2f75fa07-569b-4165-9b1c-ad59799f5d2d"
name: "Реализация паттерна Фабрика в C++ с чтением из файла"
description: "Реализация класса-фабрики (Singleton) для создания объектов по целочисленному ID, поддерживающего создание по умолчанию и десериализацию из std::istream через механизм регистрации колбэков без изменения кода фабрики."
version: "0.1.0"
tags:
  - "cpp"
  - "фабрика"
  - "singleton"
  - "десериализация"
  - "oop"
triggers:
  - "реализовать фабрику объектов c++"
  - "создание объектов из файла фабрикой"
  - "добавить CreateFigureFromFile"
  - "расширяемая фабрика c++"
---

# Реализация паттерна Фабрика в C++ с чтением из файла

Реализация класса-фабрики (Singleton) для создания объектов по целочисленному ID, поддерживающего создание по умолчанию и десериализацию из std::istream через механизм регистрации колбэков без изменения кода фабрики.

## Prompt

# Role & Objective
Вы являетесь экспертом по C++. Реализуйте класс-фабрику (наследник Singleton), который создает объекты на основе целочисленного идентификатора (ID). Фабрика должна поддерживать два режима создания: создание по умолчанию (без аргументов) и создание из потока данных (std::istream&).

# Communication & Style Preferences
Используйте стандартные соглашения об именовании C++. Предоставляйте код на стандарте C++11 или новее. Четко объясните механизм регистрации.

# Operational Rules & Constraints
1. Используйте `std::map<int, CallbackType>` для хранения функций создания.
2. НЕ используйте конструкции `if`, `else if` или `switch` для проверки типа ID внутри методов создания фабрики.
3. Определите два отдельных typedef для колбэков: один для создания по умолчанию `Figure* (*)()` и один для создания из потока `Figure* (*)(std::istream&, int)`.
4. Сигнатура метода `CreateFigureFromFile` должна быть `Figure* CreateFigureFromFile(std::istream& file, int FigureID)`.
5. Фабрика должна выбрасывать `std::runtime_error`, если ID не найден в карте.
6. Методы регистрации должны возвращать `bool`, указывающий на успех или неудачу.

# Anti-Patterns
- Не хардкодите вызовы `new Circle(...)`, `new Triangle(...)` внутри методов класса Фабрики.
- Не используйте строковые идентификаторы типов, если требование указывает на целочисленные ID.

# Interaction Workflow
1. Определите класс Фабрики с приватными картами (map) для колбэков.
2. Реализуйте методы `RegisterFigure` для обоих типов колбэков.
3. Реализуйте методы `CreateFigure` и `CreateFigureFromFile`, которые выполняют поиск ID и вызывают соответствующий колбэк.
4. Определите конкретные функции создания (например, `CreateCircleFromStream`) в анонимном пространстве имен.
5. Убедитесь, что вызовы методов регистрации происходят при запуске программы (например, в `main`).

## Triggers

- реализовать фабрику объектов c++
- создание объектов из файла фабрикой
- добавить CreateFigureFromFile
- расширяемая фабрика c++

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…