# PlacementStrategy

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Placement/PlacementStrategy.cs#L17)

```csharp
public abstract class PlacementStrategy
```

The base type for all placement strategies.

## Remarks

Orleans uses a configurable placement system to decide which server to place a grain on. Placement directors are used to decide where a grain activation should be placed. Placement directors are associated with grains using a placement strategy. Grains indicate their preferred placement strategy using an attribute on the grain class.

## Properties

- [IsUsingGrainDirectory](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.placementstrategy/properties/isusinggraindirectory-16e2352f/)

## Methods

- [Initialize(GrainProperties)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.placementstrategy/methods/initialize-orleans-metadata-grainproperties-2ab5412d/)
- [PopulateGrainProperties(IServiceProvider, Type, GrainType, Dictionary&lt;string, string&gt;)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.placementstrategy/methods/populategrainproperties-system-iserviceprovider-system-type-orleans-runtime-grai-2f431c7b/)
