--- title: Bachelorizer sketches and draft codebase subtitle: Portfolio Project I date: 2025-03-01 toc-depth: 2 format: stylish-report-pdf: pdfversion: "2.0" pdfstandard: [A-4f, UA-2] pdftestphase: latest metadata-files: - _actors.yml keywords: - UML - Class diagram - University structure breaks: false --- # UML Class Diagram ```{.plantuml} @startuml abstract class SocketServer { #boost::asio::io_service io_service; #tcp::endpoint endpoint; #tcp::iostream socketStream; #tcp::acceptor * acceptor; #stringstream * buffer; +SocketServer (string address, unsigned short port, stringstream * buf) +~SocketServer () +{abstract} void start () } class SocketServerListener { +void start () } class SocketServerSender { +void start () } SocketServer -down-|> SocketServerListener SocketServer -down-|> SocketServerSender note "Difference only in start() function" as N1 SocketServerListener -- N1 SocketServerSender -- N1 abstract class SocketClient { #tcp::iostream socketStream; #stringstream * buffer; #string address; #unsigned short port; +SocketClient (string address, unsigned short port, stringstream * buf) +{abstract} void start () } class SocketClientListener { +void start () } class SocketClientSender { +void start () } SocketClient -down-|> SocketClientListener SocketClient -down-|> SocketClientSender note "Difference only in start() function" as N2 SocketClientListener -- N2 SocketClientSender -- N2 N0 .down. SocketServer N0 .down. SocketClient @enduml ``` ## Class `Bachelorizer.java` ```{.java include="Bachelorizer.java" code-line-numbers="true"} ```