I developed these programs, a text editor and a paint editor, at FER's course Design Patterns (OOUP). They follow SOLID principles and various design patterns which help build maintainable and scalable code.
Matija's_Text_Editor- a Swing text editor that implements patterns: Observer, Command, Factory, Singleton, Strategy, MVC, and Iterator.Matija's_Paint_Editor- a Swing paint editor that implements patterns: Observer, Composite, Prototype, Iterator, State, Proxy, Factory, Bridge, and Visitor.
- Open this repository in IntelliJ IDEA.
- Import either
Matija's_Text_EditororMatija's_Paint_Editoras a Java module. - Make sure the module's
srcfolder is marked as the source root. - Run the
Mainclass from the selected project.
From the Design-Patterns-In-Programming directory, compile and run the text editor:
cd "Matija's_Text_Editor"
javac -d out $(find src -name "*.java")
java -cp out MainCompile and run the paint editor:
cd ..
cd "Matija's_Paint_Editor"
javac -d out $(find src -name "*.java")
java -cp out Main