diff --git a/Behavioral/DesignPatterns.Visitor/DesignPatterns.Visitor.csproj b/Behavioral/DesignPatterns.Visitor/DesignPatterns.Visitor.csproj
index ed430ca..d272bea 100644
--- a/Behavioral/DesignPatterns.Visitor/DesignPatterns.Visitor.csproj
+++ b/Behavioral/DesignPatterns.Visitor/DesignPatterns.Visitor.csproj
@@ -5,7 +5,6 @@
net8.0
enable
enable
- Linux
DesignPatterns.Visitor
diff --git a/Creational/DesignPatterns.AbstractFactory/DesignPatterns.AbstractFactory.csproj b/Creational/DesignPatterns.AbstractFactory/DesignPatterns.AbstractFactory.csproj
new file mode 100644
index 0000000..1710e28
--- /dev/null
+++ b/Creational/DesignPatterns.AbstractFactory/DesignPatterns.AbstractFactory.csproj
@@ -0,0 +1,11 @@
+
+
+
+ Exe
+ net8.0
+ enable
+ enable
+ DesignPatterns.AbstractFactory
+
+
+
diff --git a/Creational/DesignPatterns.AbstractFactory/IStorage.cs b/Creational/DesignPatterns.AbstractFactory/IStorage.cs
new file mode 100644
index 0000000..c97cbf3
--- /dev/null
+++ b/Creational/DesignPatterns.AbstractFactory/IStorage.cs
@@ -0,0 +1,13 @@
+namespace DesignPatterns.AbstractFactory;
+
+public interface IStorage
+{
+}
+
+public class Disk : IStorage
+{
+}
+
+public class DataLakeStorage : IStorage
+{
+}
diff --git a/Creational/DesignPatterns.AbstractFactory/IStorageFactory.cs b/Creational/DesignPatterns.AbstractFactory/IStorageFactory.cs
new file mode 100644
index 0000000..1852936
--- /dev/null
+++ b/Creational/DesignPatterns.AbstractFactory/IStorageFactory.cs
@@ -0,0 +1,13 @@
+namespace DesignPatterns.AbstractFactory;
+
+public interface IStorageFactory
+{
+}
+
+public class LocalStorageFactory : IStorageFactory
+{
+}
+
+public class AzureStorageFactory : IStorageFactory
+{
+}
diff --git a/Creational/DesignPatterns.AbstractFactory/Program.cs b/Creational/DesignPatterns.AbstractFactory/Program.cs
new file mode 100644
index 0000000..e5dff12
--- /dev/null
+++ b/Creational/DesignPatterns.AbstractFactory/Program.cs
@@ -0,0 +1,3 @@
+// See https://aka.ms/new-console-template for more information
+
+Console.WriteLine("Hello, World!");
\ No newline at end of file
diff --git a/DesignPatterns.sln b/DesignPatterns.sln
index 980ac49..6bc692b 100644
--- a/DesignPatterns.sln
+++ b/DesignPatterns.sln
@@ -6,6 +6,10 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Behavioral", "Behavioral",
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DesignPatterns.Visitor.UnitTests", "Behavioral\DesignPatterns.Visitor.UnitTests\DesignPatterns.Visitor.UnitTests.csproj", "{02AA0F74-2EFE-4804-8938-A92542860F74}"
EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Creational", "Creational", "{AE005ED4-5F0B-4AF9-81AE-AAE3AD6F8901}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DesignPatterns.AbstractFactory", "Creational\DesignPatterns.AbstractFactory\DesignPatterns.AbstractFactory.csproj", "{0C5CFC73-F6E4-4796-A11C-9CA378B80517}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -20,9 +24,14 @@ Global
{02AA0F74-2EFE-4804-8938-A92542860F74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{02AA0F74-2EFE-4804-8938-A92542860F74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{02AA0F74-2EFE-4804-8938-A92542860F74}.Release|Any CPU.Build.0 = Release|Any CPU
+ {0C5CFC73-F6E4-4796-A11C-9CA378B80517}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {0C5CFC73-F6E4-4796-A11C-9CA378B80517}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {0C5CFC73-F6E4-4796-A11C-9CA378B80517}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {0C5CFC73-F6E4-4796-A11C-9CA378B80517}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{DCE06EB6-BAB5-4573-AF67-128DBCCDB90C} = {7FF0E83F-EBEB-4103-BCD1-2F100E82FCD1}
{02AA0F74-2EFE-4804-8938-A92542860F74} = {7FF0E83F-EBEB-4103-BCD1-2F100E82FCD1}
+ {0C5CFC73-F6E4-4796-A11C-9CA378B80517} = {AE005ED4-5F0B-4AF9-81AE-AAE3AD6F8901}
EndGlobalSection
EndGlobal