Move UML/ directory and Architecture.md from Docs/ to docs/. Rename Architecture.md to UML_ARCHITECTURE.md to avoid collision with existing docs/ARCHITECTURE.md (docs organization file). Update all references in README.md, CONTRIBUTING.md, CLAUDE.md, and the architecture file itself. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
514 lines
12 KiB
HTML
514 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<title>BasePatternDetector</title>
|
|
<link href='http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic|Source+Code+Pro:300,400,700' rel='stylesheet' type='text/css'>
|
|
<link rel="stylesheet" href="../assets/css/bootstrap.css">
|
|
<link rel="stylesheet" href="../assets/css/jquery.bonsai.css">
|
|
<link rel="stylesheet" href="../assets/css/main.css">
|
|
<link rel="stylesheet" href="../assets/icon-font/icons.css">
|
|
<script type="text/javascript" src="../assets/js/jquery-2.1.0.min.js"></script>
|
|
<script type="text/javascript" src="../assets/js/bootstrap.js"></script>
|
|
<script type="text/javascript" src="../assets/js/jquery.bonsai.js"></script>
|
|
<script type="text/javascript" src="../assets/js/imageMapResizer.min.js"></script>
|
|
|
|
</head>
|
|
<body>
|
|
<div>
|
|
|
|
<!-- Name Title -->
|
|
|
|
<h1>BasePatternDetector</h1>
|
|
|
|
<!-- Type and Stereotype -->
|
|
|
|
<section style="margin-top: .5em;">
|
|
<span class="alert alert-info">
|
|
<span class="node-icon staruml-icon icon-UMLClass"></span>
|
|
UMLClass
|
|
</span>
|
|
|
|
</section>
|
|
|
|
<!-- Path -->
|
|
|
|
<section style="margin-top: 10px">
|
|
|
|
|
|
|
|
|
|
<span class="label label-info"><a href='cf9c8b720f3815adeccaf3ef6e48c6c4.html'><span class='node-icon staruml-icon icon-Project'></span>Skill Seekers</a></span>
|
|
|
|
<span>::</span>
|
|
<span class="label label-info"><a href='6a4361334e8b649314ed681b9e6798c3.html'><span class='node-icon staruml-icon icon-UMLModel'></span>skill_seekers</a></span>
|
|
|
|
<span>::</span>
|
|
<span class="label label-info"><a href='136e9c05d710dc4dc71692abb7b4072c.html'><span class='node-icon staruml-icon icon-UMLPackage'></span>Analysis</a></span>
|
|
|
|
<span>::</span>
|
|
<span class="label label-info"><a href='c62ddcef75e050f272ff1343b9b3aea8.html'><span class='node-icon staruml-icon icon-UMLClass'></span>BasePatternDetector</a></span>
|
|
|
|
</section>
|
|
|
|
<!-- Diagram -->
|
|
|
|
|
|
|
|
<!-- Description -->
|
|
|
|
|
|
<section>
|
|
<h3>Description</h3>
|
|
<div>
|
|
|
|
<p>Abstract base for GoF design pattern detectors. Defines detect() interface for scanning AST trees. 10 concrete detectors: Singleton, Factory, Observer, Strategy, Decorator, Builder, Adapter, Command, TemplateMethod, ChainOfResponsibility.</p>
|
|
|
|
</div>
|
|
</section>
|
|
|
|
|
|
<!-- Specification -->
|
|
|
|
|
|
|
|
<!-- Directed Relationship -->
|
|
|
|
|
|
|
|
<!-- Undirected Relationship -->
|
|
|
|
|
|
|
|
<!-- Classifier -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section class="element-list">
|
|
<h3>Specialized Elements</h3>
|
|
<ul class="nav nav-list">
|
|
|
|
<li><a href='5fbf2cd376427e361d43dad16bc5146c.html'><span class='node-icon staruml-icon icon-UMLClass'></span>SingletonDetector</a></li>
|
|
|
|
<li><a href='26f69649909a2cda95a20a23d6727aab.html'><span class='node-icon staruml-icon icon-UMLClass'></span>FactoryDetector</a></li>
|
|
|
|
<li><a href='cc546c4f38d5fdac941622f58cef2d89.html'><span class='node-icon staruml-icon icon-UMLClass'></span>ObserverDetector</a></li>
|
|
|
|
<li><a href='6876e839968975853e9346e4bb007249.html'><span class='node-icon staruml-icon icon-UMLClass'></span>StrategyDetector</a></li>
|
|
|
|
<li><a href='220e966f6f4bccb4695fddacc8d74269.html'><span class='node-icon staruml-icon icon-UMLClass'></span>DecoratorDetector</a></li>
|
|
|
|
<li><a href='3d6df3c4ecf914af3143c0f65f067961.html'><span class='node-icon staruml-icon icon-UMLClass'></span>BuilderDetector</a></li>
|
|
|
|
<li><a href='5dd9fcf590ef73e2b441761dcdfe5b5e.html'><span class='node-icon staruml-icon icon-UMLClass'></span>AdapterDetector</a></li>
|
|
|
|
<li><a href='c623ed903568fe6395f20985b7041daf.html'><span class='node-icon staruml-icon icon-UMLClass'></span>CommandDetector</a></li>
|
|
|
|
<li><a href='30a6785552ff78bf2d4a2b56fe89bd41.html'><span class='node-icon staruml-icon icon-UMLClass'></span>TemplateMethodDetector</a></li>
|
|
|
|
<li><a href='03a80d0c833ca4ccb7d1214c35c1e1f3.html'><span class='node-icon staruml-icon icon-UMLClass'></span>ChainOfResponsibilityDetector</a></li>
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Interface -->
|
|
|
|
|
|
|
|
<!-- Component -->
|
|
|
|
|
|
|
|
<!-- Node -->
|
|
|
|
|
|
|
|
<!-- Actor -->
|
|
|
|
|
|
|
|
<!-- Use Case -->
|
|
|
|
|
|
|
|
<!-- Template Parameters -->
|
|
|
|
|
|
|
|
<!-- Literals -->
|
|
|
|
|
|
|
|
<!-- Attributes -->
|
|
|
|
|
|
<section>
|
|
<h3>Attributes</h3>
|
|
<table class="table table-striped table-bordered">
|
|
<tr>
|
|
<th>Visibility</th>
|
|
<th>Name</th>
|
|
<th>Type</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="95840d75b2e90b11e4c4d0d6a6dee126.html">depth</a></td>
|
|
<td>str </td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="88fbd477ab16e345aa1eda738a9d8b40.html">pattern_type</a></td>
|
|
<td>str </td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="a93b87ecda7e9d79514042b900993122.html">category</a></td>
|
|
<td>str </td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
</table>
|
|
</section>
|
|
|
|
|
|
<!-- Operations -->
|
|
|
|
|
|
<section>
|
|
<h3>Operations</h3>
|
|
<table class="table table-striped table-bordered">
|
|
<tr>
|
|
<th>Visibility</th>
|
|
<th>Name</th>
|
|
<th>Description</th>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="e73e958cf63128bd681aa8a115db8439.html">detect()</a></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="5c7213e06487cad0f7fe846fdc3faa5b.html">detect()</a></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="29ce6f9445a634a884c0bc2c38b34a76.html">detect_surface()</a></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="0581aae259550c0b2f535f82a27a20d2.html">detect_deep()</a></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td>public</td>
|
|
<td><a href="a8aead5d04280c45f12c39b4e5dee3fc.html">detect_full()</a></td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
</table>
|
|
</section>
|
|
|
|
|
|
<!-- Receptions -->
|
|
|
|
|
|
|
|
<!-- Extension Points -->
|
|
|
|
|
|
|
|
<!-- Parameters -->
|
|
|
|
|
|
|
|
<!-- Diagrams -->
|
|
|
|
|
|
|
|
|
|
<!-- Behavior -->
|
|
|
|
|
|
|
|
<!-- Action -->
|
|
|
|
|
|
|
|
<!-- Interaction -->
|
|
|
|
|
|
|
|
<!-- CombinedFragment -->
|
|
|
|
|
|
|
|
<!-- Activity -->
|
|
|
|
|
|
|
|
<!-- State Machine -->
|
|
|
|
|
|
|
|
<!-- State Machine -->
|
|
|
|
|
|
|
|
<!-- State -->
|
|
|
|
|
|
|
|
<!-- Vertex -->
|
|
|
|
|
|
|
|
<!-- Transition -->
|
|
|
|
|
|
|
|
<!-- Data Model (ERD) -->
|
|
|
|
|
|
|
|
<!-- Columns (ERD) -->
|
|
|
|
|
|
|
|
<!-- Related Entities (ERD) -->
|
|
|
|
|
|
|
|
<!-- Data Flows (DFD) -->
|
|
|
|
|
|
|
|
<!-- Flows (Flowchart) -->
|
|
|
|
|
|
|
|
<!-- Properties -->
|
|
|
|
<section>
|
|
<h3>Properties</h3>
|
|
|
|
<table class="table table-striped table-bordered">
|
|
<tr>
|
|
<th width="50%">Name</th>
|
|
<th width="50%">Value</th>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>name</td>
|
|
<td>BasePatternDetector</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>stereotype</td>
|
|
<td><span class='label label-info'>null</span></td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>visibility</td>
|
|
<td>public</td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>isAbstract</td>
|
|
<td><span class='label label-info'>true</span></td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>isFinalSpecialization</td>
|
|
<td><span class='label label-info'>false</span></td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>isLeaf</td>
|
|
<td><span class='label label-info'>false</span></td>
|
|
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
<tr>
|
|
<td>isActive</td>
|
|
<td><span class='label label-info'>false</span></td>
|
|
</tr>
|
|
|
|
|
|
|
|
</table>
|
|
|
|
</section>
|
|
|
|
<!-- Tags -->
|
|
|
|
|
|
|
|
<!-- Constraints, Dependencies, Dependants -->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<section class="element-list">
|
|
<h3>Dependants</h3>
|
|
<ul class="nav nav-list">
|
|
|
|
<li><a href='9112e33fa33abfdb8dbfe47fd47b8bee.html'><span class='node-icon staruml-icon icon-UMLClass'></span>PatternRecognizer</a></li>
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Relationships -->
|
|
|
|
|
|
|
|
<section class="element-list">
|
|
<h3>Relationships</h3>
|
|
<ul class="nav nav-list">
|
|
|
|
<li><a href='6f1139a1f45a11494769b16df3594d95.html'><span class='node-icon staruml-icon icon-UMLDependency'></span>(PatternRecognizer→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='21d85e78074831e8a2b85bd6dc54e6eb.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(SingletonDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='7204235636d3eb0c65cfd44d51c1467a.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(FactoryDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='c102d84039184645d0441eedb9c5d02c.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(ObserverDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='cd80d9656ad272b13f15aa0913adb71e.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(StrategyDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='54f2b2455cd35c31c485523e1ea9aaa8.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(DecoratorDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='609b42e6cd5f59a264549e8c61847ad9.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(BuilderDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='7f83f1f1ede8511fdba5c305be74deff.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(AdapterDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='a2d65517e0d804643c12d5df8f10d118.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(CommandDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='26061f7c81c44b51584c9ecc23969809.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(TemplateMethodDetector→BasePatternDetector)</a></li>
|
|
|
|
<li><a href='49ab040caddebbbdfb77f798d0a0ce82.html'><span class='node-icon staruml-icon icon-UMLGeneralization'></span>(ChainOfResponsibilityDetector→BasePatternDetector)</a></li>
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
<!-- Owned Elements -->
|
|
|
|
|
|
|
|
|
|
|
|
<!-- Diagrams -->
|
|
|
|
|
|
|
|
<section class="element-list">
|
|
<h3>Diagrams</h3>
|
|
<ul class="nav nav-list">
|
|
|
|
<li><a href='40a3cc19e818cfc3b0828c8a326d9171.html'><span class='node-icon staruml-icon icon-UMLClassDiagram'></span>Analysis</a></li>
|
|
|
|
</ul>
|
|
</section>
|
|
|
|
|
|
|
|
|
|
<!-- Image Map Resizer (https://github.com/davidjbradshaw/image-map-resizer) -->
|
|
<script>
|
|
imageMapResize();
|
|
</script>
|
|
</div>
|
|
</body>
|
|
</html>
|