# Ways to Use Victor

While Victor itself is minimal by design, it offers a variety of methods for building SVGs, accommodating different coding styles and project requirements.

You can begin with the basics, using straightforward method calls to define your SVG structure. Once you're comfortable with the fundamentals, you might want to explore more structured techniques.

Approach When to Choose
Basic Ideal for Victor newcomers.
This approach uses minimal code for creating SVGs.
DSL Perfect for quick, ad-hoc SVG generation.
Use this approach if you prefer writing less Ruby.
Composition Great for quickly merging multiple SVGs.
Use this approach for prototyping or combining different SVG elements.
Class Suitable for building structured, testable SVG objects.
This approach integrates Victor within your own class.
Subclass Another option for building structured SVG objects.
This approach involves subclassing Victor::SVG.
Component Best for advanced, component-driven design.
This approach is used to compose complex SVGs from smaller, reusable components.
Command Line Perfect for non-Ruby developers or automation.
Use the Victor CLI to convert between Ruby and SVG from the command line.