495:" implies clarity, conciseness, and little waste (extra or extraneous functionality, much of which is user-defined). For those frameworks that generate code, for example, "elegance" would imply the creation of code that is clean and comprehensible to a reasonably knowledgeable programmer (and which is therefore readily modifiable), versus one that merely generates correct code. The elegance issue is why relatively few software frameworks have stood the test of time: the best frameworks have been able to evolve gracefully as the underlying technology on which they were built advanced. Even there, having evolved, many such packages will retain legacy capabilities bloating the final software as otherwise replaced methods have been retained in parallel with the newer methods.
471:". Due to customer-demand-driven applications needs, both competing and complementary frameworks sometimes end up in a product. Further, due to the complexity of their APIs, the intended reduction in overall development time may not be achieved due to the need to spend additional time learning to use the framework; this criticism is clearly valid when a special or new framework is first encountered by development staff. If such a framework is not used in subsequent job taskings, the time invested in learning the framework can cost more than purpose-written code familiar to the project's staff; many programmers keep copies of useful
1099:
2109:
2119:
192:
2129:
333:
151:
1113:
385:
294:
478:
However, once a framework is learned, future projects can be faster and easier to complete; the concept of a framework is to make a one-size-fits-all solution set, and with familiarity, code production should logically rise. There are no such claims made about the size of the code eventually bundled
455:
The designers of software frameworks aim to facilitate software developments by allowing designers and programmers to devote their time to meeting software requirements rather than dealing with the more standard low-level details of providing a working system, thereby reducing overall development
486:
the common code of the enterprise, instead of using a generic "one-size-fits-all" framework developed by third parties for general purposes. An example of that would be how the user interface in such an application package as an office suite grows to have common look, feel, and data-sharing
479:
with the output product, nor its relative efficiency and conciseness. Using any library solution necessarily pulls in extras and unused extraneous assets unless the software is a compiler-object linker making a tight (small, wholly controlled, and specified) executable module.
128:: A user can extend the framework–usually by selective overriding–or programmers can add specialized user code to provide specific functionality. This is usually achieved by a hook method in a subclass that overrides a template method in the superclass.
55:, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard way to build and deploy applications and is a universal, reusable
487:
attributes and methods, as the once disparate bundled applications, grow unified into a suite that is tighter and smaller; the newer/evolved suite can be a product that shares integral utility libraries and user interfaces.
654:: "Don't call us, we'll call you." This means that the user-defined classes (for example, new subclasses) receive messages from the predefined framework classes. Developers usually handle this by implementing
597:
define the overall architecture of a software system, that is to say its basic components and the relationships between them. These remain unchanged (frozen) in any instantiation of the application framework.
490:
This trend in the controversy brings up an important issue about frameworks. Creating a framework that is elegant, versus one that merely solves a problem, is still rather a craft than a science. "Software
650:
When developing a concrete software system with a software framework, developers utilize the hot spots according to the specific needs and requirements of the system. Software frameworks rely on the
136:: The framework code, in general, is not supposed to be modified, while accepting user-implemented extensions. In other words, users can extend the framework, but cannot modify its code.
503:
Software frameworks typically contain considerable housekeeping and utility code in order to help bootstrap user applications, but generally focus on specific problem domains, such as:
647:
are known as variant or hook methods. The invariant methods in the superclass provide default behaviour while the hook methods in each subclass provide custom behaviour.
359:
343:
1145:
554:
912:
Gachet, A (2003), "Software
Frameworks for Developing Decision Support Systems – A New Component in the Classification of DSS Development Tools",
482:
The issue continues, but a decade-plus of industry experience has shown that the most effective frameworks turn out to be those that evolve from
1862:
1834:
1887:
1037:
1009:
981:
56:
2158:
1738:
602:
represent those parts where the programmers using the framework add their own code to add the functionality specific to their own project.
395:
406:
1892:
1164:
209:
164:
1397:
1060:
347:
2044:
1872:
1402:
1078:
841:
549:
442:
424:
275:
178:
71:
2132:
1226:
256:
1520:
460:
to develop a banking website can focus on writing code particular to banking rather than the mechanics of request handling and
228:
1773:
2163:
1811:
1430:
1138:
818:
213:
48:
1117:
1953:
1930:
1660:
1650:
655:
235:
2153:
2034:
1622:
1530:
1435:
1211:
1196:
670:
2122:
1857:
1355:
629:
621:
606:
242:
2094:
1743:
31:
351:
202:
2112:
2039:
2014:
1877:
1525:
1131:
1963:
1796:
1382:
1251:
733:
617:
614:
519:
224:
680:
855:
Birrer, A; Eggenschwiler, T (1993), "Proceedings of the
European conference on object-oriented programming",
2024:
1958:
1849:
1665:
1325:
675:
636:
170:
117:
107:
763:
Vlissides, J M; Linton, M A (1990), "Unidraw: a framework for building domain-specific graphical editors",
711:
2089:
1920:
1801:
1568:
1558:
1553:
959:
946:
Pree, W (1994), "Meta
Patterns: A Means for Capturing the Essentials of Reusable Object-Oriented Design",
1026:
Applying UML and
Patterns: An Introduction to Object-Oriented Analysis and Design and the Unified Process
2059:
2029:
2019:
1915:
1829:
1705:
1645:
1612:
1602:
1485:
1450:
1440:
1377:
1246:
1221:
1216:
1181:
543:
508:
399:
that states a
Knowledge (XXG) editor's personal feelings or presents an original argument about a topic.
132:
801:
Conference proceedings on Object-oriented programming systems, languages, and applications - OOPSLA '92
1103:
1819:
1791:
1763:
1758:
1587:
1563:
1515:
1498:
1493:
1475:
1465:
1460:
1422:
1372:
1367:
1284:
1230:
1001:
98:
64:
40:
2084:
2009:
1925:
1910:
1675:
1455:
1412:
1407:
1304:
1294:
1266:
964:
685:
651:
569:
90:
2049:
1948:
1824:
1781:
1690:
1632:
1617:
1607:
1191:
929:
895:
824:
782:
625:
75:
249:
2069:
1999:
1978:
1940:
1748:
1715:
1695:
1387:
1299:
1173:
1074:
1033:
1005:
977:
835:
814:
102:: In a framework, unlike in libraries or in standard user applications, the overall program's
60:
1902:
1786:
1753:
1548:
1470:
1359:
1345:
1340:
1289:
1276:
1201:
1154:
969:
921:
887:
804:
772:
537:
483:
472:
461:
79:
17:
70:
Software frameworks may include support programs, compilers, code libraries, toolsets, and
1973:
1867:
1839:
1733:
1685:
1670:
1655:
1510:
1505:
1445:
1335:
1309:
1261:
1206:
1068:
955:
860:
690:
658:
83:
2079:
1983:
1882:
1728:
1700:
1064:
610:
106:
is not dictated by the caller, but by the framework. This is usually achieved with the
1098:
2147:
1968:
1256:
1029:
527:
457:
124:
933:
786:
2064:
1723:
1056:
899:
304:
103:
828:
998:
Pattern-Oriented
Software Architecture Volume 1: A System of Patterns. Chichester
2054:
1680:
1592:
1052:
191:
891:
2074:
2004:
1597:
1330:
1186:
720:
574:
532:
468:
1579:
1540:
925:
89:
Frameworks have key distinguishing features that separate them from normal
1112:
809:
1640:
948:
Proceedings of the 8th
European Conference on Object-Oriented Programming
492:
52:
777:
973:
565:
559:
216: in this section. Unsourced material may be challenged and removed.
857:
Frameworks in the financial engineering domain: an experience report
1123:
467:
Frameworks often add to the size of programs, a phenomenon termed "
30:"Framework (computer science)" redirects here. For other uses, see
875:
741:
1127:
874:
Hill, C; DeLuca, C; Balaji, V; Suarez, M; da Silva, A (2004),
799:
Johnson, R E (1992), "Documenting frameworks using patterns",
378:
326:
287:
185:
144:
876:"Architecture of the Earth System Modeling Framework (ESMF)"
635:
The necessary functionality can be implemented by using the
396:
personal reflection, personal essay, or argumentative essay
59:
that provides particular functionality as part of a larger
116:: This can be provided with the invariant methods of the
120:
in an abstract class which is provided by the framework.
402:
507:
Artistic drawing, music composition, and mechanical
1992:
1939:
1901:
1848:
1810:
1772:
1714:
1631:
1577:
1539:
1484:
1421:
1354:
1318:
1275:
1239:
1172:
27:
Type of library that helps structure other software
585:According to Pree, software frameworks consist of
1163:Note: This template roughly follows the 2012
1139:
8:
179:Learn how and when to remove these messages
1146:
1132:
1124:
713:Framework Design: A Role Modeling Approach
963:
808:
776:
443:Learn how and when to remove this message
425:Learn how and when to remove this message
310:Please consider summarizing the material.
276:Learn how and when to remove this message
72:application programming interfaces (APIs)
555:Oracle Application Development Framework
540:– High performance scientific computing.
346:: vague phrasing that often accompanies
765:ACM Transactions on Information Systems
702:
643:are known as invariant methods and the
1863:Knowledge representation and reasoning
833:
74:that bring together all the different
1888:Philosophy of artificial intelligence
950:, Lecture Notes in Computer Science,
721:Swiss Federal Institute of Technology
609:environment, a framework consists of
7:
1207:Energy consumption (Green computing)
880:Computing in Science and Engineering
214:adding citations to reliable sources
1893:Distributed artificial intelligence
1165:ACM Computing Classification System
1398:Integrated development environment
516:Earth system modeling applications
456:time. For example, a team using a
25:
1873:Automated planning and scheduling
1403:Software configuration management
550:Enterprise Architecture framework
160:This section has multiple issues.
63:to facilitate the development of
2127:
2117:
2108:
2107:
1111:
1097:
624:of such a framework consists of
383:
331:
292:
190:
149:
2118:
1521:Computational complexity theory
513:Financial modeling applications
201:needs additional citations for
168:or discuss these issues on the
1305:Network performance evaluation
1:
1676:Multimedia information system
1661:Geographic information system
1651:Enterprise information system
1240:Computer systems organization
1102:The dictionary definition of
840:: CS1 maint: date and year (
803:, ACM Press, pp. 63–76,
133:non-modifiable framework code
2035:Computational social science
1623:Theoretical computer science
1436:Software development process
1212:Electronic design automation
1197:Very Large Scale Integration
671:Class (computer programming)
524:Media playback and authoring
18:Framework (computer science)
2159:Object-oriented programming
1858:Natural language processing
1646:Information storage systems
914:Journal of Decision Systems
546:– General GUI applications.
78:to enable development of a
67:, products and solutions.
2180:
1774:Human–computer interaction
1744:Intrusion detection system
1656:Social information systems
1641:Database management system
892:10.1109/MCISE.2004.1255817
358:Such statements should be
32:Framework (disambiguation)
29:
2103:
2040:Computational engineering
2015:Computational mathematics
1161:
307:and excessively detailed.
2050:Computational healthcare
2045:Differentiable computing
1964:Graphics processing unit
1383:Domain-specific language
1252:Computational complexity
520:Decision support systems
2025:Computational chemistry
1959:Photograph manipulation
1850:Artificial intelligence
1666:Decision support system
676:Software design pattern
637:Template Method Pattern
118:Template Method Pattern
108:Template Method Pattern
2090:Educational technology
1921:Reinforcement learning
1671:Process control system
1569:Computational geometry
1559:Algorithmic efficiency
1554:Analysis of algorithms
1202:Systems on Chip (SoCs)
926:10.3166/jds.12.271-280
632:the existing classes.
405:by rewriting it in an
2164:Software architecture
2060:Electronic publishing
2030:Computational biology
2020:Computational physics
1916:Unsupervised learning
1830:Distributed computing
1706:Information retrieval
1613:Mathematical analysis
1603:Mathematical software
1486:Theory of computation
1451:Software construction
1441:Requirements analysis
1319:Software organization
1247:Computer architecture
1217:Hardware acceleration
1182:Printed circuit board
996:Buschmann, F (1996),
810:10.1145/141936.141943
710:Riehle, Dirk (2000),
681:Don't repeat yourself
544:Application framework
65:software applications
1820:Concurrent computing
1792:Ubiquitous computing
1764:Application security
1759:Information security
1588:Discrete mathematics
1564:Randomized algorithm
1516:Computability theory
1494:Model of computation
1466:Software maintenance
1461:Software engineering
1423:Software development
1373:Programming language
1368:Programming paradigm
1285:Network architecture
1120:at Wikimedia Commons
360:clarified or removed
225:"Software framework"
210:improve this article
99:inversion of control
57:software environment
41:computer programming
2154:Software frameworks
2095:Document management
2085:Operations research
2010:Enterprise software
1926:Multi-task learning
1911:Supervised learning
1633:Information systems
1456:Software deployment
1413:Software repository
1267:Real-time computing
1118:Software frameworks
778:10.1145/98188.98197
686:Implicit invocation
652:Hollywood Principle
1878:Search methodology
1825:Parallel computing
1782:Interaction design
1691:Computing platform
1618:Numerical analysis
1608:Information theory
1393:Software framework
1356:Software notations
1295:Network components
1192:Integrated circuit
1105:software framework
1073:. Addison-Wesley.
1024:Larman, C (2001),
974:10.1007/BFb0052181
475:for common needs.
407:encyclopedic style
394:is written like a
45:software framework
2141:
2140:
2070:Electronic voting
2000:Quantum Computing
1993:Applied computing
1979:Image compression
1749:Hardware security
1739:Security services
1696:Digital marketing
1476:Open-source model
1388:Modeling language
1300:Network scheduler
1116:Media related to
1039:978-0-13-092569-5
1011:978-0-471-95869-7
983:978-3-540-58202-1
744:on 7 October 2018
453:
452:
445:
435:
434:
427:
377:
376:
325:
324:
286:
285:
278:
260:
183:
114:default behaviour
61:software platform
16:(Redirected from
2171:
2131:
2130:
2121:
2120:
2111:
2110:
1931:Cross-validation
1903:Machine learning
1787:Social computing
1754:Network security
1549:Algorithm design
1471:Programming team
1431:Control variable
1408:Software library
1346:Software quality
1341:Operating system
1290:Network protocol
1155:Computer science
1148:
1141:
1134:
1125:
1115:
1101:
1085:
1084:
1049:
1043:
1042:
1028:(2nd ed.),
1021:
1015:
1014:
993:
987:
986:
967:
943:
937:
936:
909:
903:
902:
871:
865:
864:
863:, pp. 21–35
852:
846:
845:
839:
831:
812:
796:
790:
789:
780:
760:
754:
753:
751:
749:
740:. Archived from
730:
724:
723:
718:
707:
659:abstract methods
538:Cactus Framework
473:boilerplate code
462:state management
448:
441:
430:
423:
419:
416:
410:
387:
386:
379:
372:
369:
363:
335:
334:
327:
320:
317:
311:
296:
295:
288:
281:
274:
270:
267:
261:
259:
218:
194:
186:
175:
153:
152:
145:
21:
2179:
2178:
2174:
2173:
2172:
2170:
2169:
2168:
2144:
2143:
2142:
2137:
2128:
2099:
2080:Word processing
1988:
1974:Virtual reality
1935:
1897:
1868:Computer vision
1844:
1840:Multiprocessing
1806:
1768:
1734:Security hacker
1710:
1686:Digital library
1627:
1578:Mathematics of
1573:
1535:
1511:Automata theory
1506:Formal language
1480:
1446:Software design
1417:
1350:
1336:Virtual machine
1314:
1310:Network service
1271:
1262:Embedded system
1235:
1168:
1157:
1152:
1094:
1089:
1088:
1081:
1070:Design Patterns
1065:Vlissides, John
1051:
1050:
1046:
1040:
1023:
1022:
1018:
1012:
995:
994:
990:
984:
956:Springer-Verlag
945:
944:
940:
911:
910:
906:
873:
872:
868:
861:Springer-Verlag
854:
853:
849:
832:
821:
798:
797:
793:
762:
761:
757:
747:
745:
732:
731:
727:
716:
709:
708:
704:
699:
691:Software engine
667:
607:object-oriented
583:
562:(PHP Framework)
501:
449:
438:
437:
436:
431:
420:
414:
411:
403:help improve it
400:
388:
384:
373:
367:
364:
357:
336:
332:
321:
315:
312:
309:
297:
293:
282:
271:
265:
262:
219:
217:
207:
195:
154:
150:
143:
104:flow of control
35:
28:
23:
22:
15:
12:
11:
5:
2177:
2175:
2167:
2166:
2161:
2156:
2146:
2145:
2139:
2138:
2136:
2135:
2125:
2115:
2104:
2101:
2100:
2098:
2097:
2092:
2087:
2082:
2077:
2072:
2067:
2062:
2057:
2052:
2047:
2042:
2037:
2032:
2027:
2022:
2017:
2012:
2007:
2002:
1996:
1994:
1990:
1989:
1987:
1986:
1984:Solid modeling
1981:
1976:
1971:
1966:
1961:
1956:
1951:
1945:
1943:
1937:
1936:
1934:
1933:
1928:
1923:
1918:
1913:
1907:
1905:
1899:
1898:
1896:
1895:
1890:
1885:
1883:Control method
1880:
1875:
1870:
1865:
1860:
1854:
1852:
1846:
1845:
1843:
1842:
1837:
1835:Multithreading
1832:
1827:
1822:
1816:
1814:
1808:
1807:
1805:
1804:
1799:
1794:
1789:
1784:
1778:
1776:
1770:
1769:
1767:
1766:
1761:
1756:
1751:
1746:
1741:
1736:
1731:
1729:Formal methods
1726:
1720:
1718:
1712:
1711:
1709:
1708:
1703:
1701:World Wide Web
1698:
1693:
1688:
1683:
1678:
1673:
1668:
1663:
1658:
1653:
1648:
1643:
1637:
1635:
1629:
1628:
1626:
1625:
1620:
1615:
1610:
1605:
1600:
1595:
1590:
1584:
1582:
1575:
1574:
1572:
1571:
1566:
1561:
1556:
1551:
1545:
1543:
1537:
1536:
1534:
1533:
1528:
1523:
1518:
1513:
1508:
1503:
1502:
1501:
1490:
1488:
1482:
1481:
1479:
1478:
1473:
1468:
1463:
1458:
1453:
1448:
1443:
1438:
1433:
1427:
1425:
1419:
1418:
1416:
1415:
1410:
1405:
1400:
1395:
1390:
1385:
1380:
1375:
1370:
1364:
1362:
1352:
1351:
1349:
1348:
1343:
1338:
1333:
1328:
1322:
1320:
1316:
1315:
1313:
1312:
1307:
1302:
1297:
1292:
1287:
1281:
1279:
1273:
1272:
1270:
1269:
1264:
1259:
1254:
1249:
1243:
1241:
1237:
1236:
1234:
1233:
1224:
1219:
1214:
1209:
1204:
1199:
1194:
1189:
1184:
1178:
1176:
1170:
1169:
1162:
1159:
1158:
1153:
1151:
1150:
1143:
1136:
1128:
1122:
1121:
1109:
1093:
1092:External links
1090:
1087:
1086:
1079:
1061:Johnson, Ralph
1044:
1038:
1016:
1010:
988:
982:
965:10.1.1.74.7935
938:
920:(3): 271–281,
904:
866:
847:
819:
791:
771:(3): 237–268,
755:
725:
701:
700:
698:
695:
694:
693:
688:
683:
678:
673:
666:
663:
582:
579:
578:
577:
572:
568:, for example
563:
557:
552:
547:
541:
535:
530:
525:
522:
517:
514:
511:
500:
497:
451:
450:
433:
432:
391:
389:
382:
375:
374:
339:
337:
330:
323:
322:
300:
298:
291:
284:
283:
198:
196:
189:
184:
158:
157:
155:
148:
142:
139:
138:
137:
129:
121:
111:
26:
24:
14:
13:
10:
9:
6:
4:
3:
2:
2176:
2165:
2162:
2160:
2157:
2155:
2152:
2151:
2149:
2134:
2126:
2124:
2116:
2114:
2106:
2105:
2102:
2096:
2093:
2091:
2088:
2086:
2083:
2081:
2078:
2076:
2073:
2071:
2068:
2066:
2063:
2061:
2058:
2056:
2053:
2051:
2048:
2046:
2043:
2041:
2038:
2036:
2033:
2031:
2028:
2026:
2023:
2021:
2018:
2016:
2013:
2011:
2008:
2006:
2003:
2001:
1998:
1997:
1995:
1991:
1985:
1982:
1980:
1977:
1975:
1972:
1970:
1969:Mixed reality
1967:
1965:
1962:
1960:
1957:
1955:
1952:
1950:
1947:
1946:
1944:
1942:
1938:
1932:
1929:
1927:
1924:
1922:
1919:
1917:
1914:
1912:
1909:
1908:
1906:
1904:
1900:
1894:
1891:
1889:
1886:
1884:
1881:
1879:
1876:
1874:
1871:
1869:
1866:
1864:
1861:
1859:
1856:
1855:
1853:
1851:
1847:
1841:
1838:
1836:
1833:
1831:
1828:
1826:
1823:
1821:
1818:
1817:
1815:
1813:
1809:
1803:
1802:Accessibility
1800:
1798:
1797:Visualization
1795:
1793:
1790:
1788:
1785:
1783:
1780:
1779:
1777:
1775:
1771:
1765:
1762:
1760:
1757:
1755:
1752:
1750:
1747:
1745:
1742:
1740:
1737:
1735:
1732:
1730:
1727:
1725:
1722:
1721:
1719:
1717:
1713:
1707:
1704:
1702:
1699:
1697:
1694:
1692:
1689:
1687:
1684:
1682:
1679:
1677:
1674:
1672:
1669:
1667:
1664:
1662:
1659:
1657:
1654:
1652:
1649:
1647:
1644:
1642:
1639:
1638:
1636:
1634:
1630:
1624:
1621:
1619:
1616:
1614:
1611:
1609:
1606:
1604:
1601:
1599:
1596:
1594:
1591:
1589:
1586:
1585:
1583:
1581:
1576:
1570:
1567:
1565:
1562:
1560:
1557:
1555:
1552:
1550:
1547:
1546:
1544:
1542:
1538:
1532:
1529:
1527:
1524:
1522:
1519:
1517:
1514:
1512:
1509:
1507:
1504:
1500:
1497:
1496:
1495:
1492:
1491:
1489:
1487:
1483:
1477:
1474:
1472:
1469:
1467:
1464:
1462:
1459:
1457:
1454:
1452:
1449:
1447:
1444:
1442:
1439:
1437:
1434:
1432:
1429:
1428:
1426:
1424:
1420:
1414:
1411:
1409:
1406:
1404:
1401:
1399:
1396:
1394:
1391:
1389:
1386:
1384:
1381:
1379:
1376:
1374:
1371:
1369:
1366:
1365:
1363:
1361:
1357:
1353:
1347:
1344:
1342:
1339:
1337:
1334:
1332:
1329:
1327:
1324:
1323:
1321:
1317:
1311:
1308:
1306:
1303:
1301:
1298:
1296:
1293:
1291:
1288:
1286:
1283:
1282:
1280:
1278:
1274:
1268:
1265:
1263:
1260:
1258:
1257:Dependability
1255:
1253:
1250:
1248:
1245:
1244:
1242:
1238:
1232:
1228:
1225:
1223:
1220:
1218:
1215:
1213:
1210:
1208:
1205:
1203:
1200:
1198:
1195:
1193:
1190:
1188:
1185:
1183:
1180:
1179:
1177:
1175:
1171:
1166:
1160:
1156:
1149:
1144:
1142:
1137:
1135:
1130:
1129:
1126:
1119:
1114:
1110:
1108:at Wiktionary
1107:
1106:
1100:
1096:
1095:
1091:
1082:
1080:0-201-63361-2
1076:
1072:
1071:
1066:
1062:
1058:
1057:Helm, Richard
1054:
1048:
1045:
1041:
1035:
1031:
1030:Prentice Hall
1027:
1020:
1017:
1013:
1007:
1003:
999:
992:
989:
985:
979:
975:
971:
966:
961:
957:
953:
949:
942:
939:
935:
931:
927:
923:
919:
915:
908:
905:
901:
897:
893:
889:
885:
881:
877:
870:
867:
862:
858:
851:
848:
843:
837:
830:
826:
822:
816:
811:
806:
802:
795:
792:
788:
784:
779:
774:
770:
766:
759:
756:
743:
739:
735:
729:
726:
722:
715:
714:
706:
703:
696:
692:
689:
687:
684:
682:
679:
677:
674:
672:
669:
668:
664:
662:
660:
657:
653:
648:
646:
642:
639:in which the
638:
633:
631:
627:
623:
622:Instantiation
619:
616:
612:
608:
603:
601:
596:
592:
588:
580:
576:
573:
571:
567:
564:
561:
558:
556:
553:
551:
548:
545:
542:
539:
536:
534:
531:
529:
528:Web framework
526:
523:
521:
518:
515:
512:
510:
506:
505:
504:
498:
496:
494:
488:
485:
480:
476:
474:
470:
465:
463:
459:
458:web framework
447:
444:
429:
426:
418:
408:
404:
398:
397:
392:This section
390:
381:
380:
371:
361:
355:
353:
349:
345:
340:This section
338:
329:
328:
319:
308:
306:
301:This section
299:
290:
289:
280:
277:
269:
258:
255:
251:
248:
244:
241:
237:
234:
230:
227: –
226:
222:
221:Find sources:
215:
211:
205:
204:
199:This section
197:
193:
188:
187:
182:
180:
173:
172:
167:
166:
161:
156:
147:
146:
140:
135:
134:
130:
127:
126:
125:extensibility
122:
119:
115:
112:
109:
105:
101:
100:
96:
95:
94:
92:
87:
85:
81:
77:
73:
68:
66:
62:
58:
54:
50:
46:
42:
37:
33:
19:
2065:Cyberwarfare
1724:Cryptography
1392:
1104:
1069:
1053:Gamma, Erich
1047:
1025:
1019:
997:
991:
951:
947:
941:
917:
913:
907:
883:
879:
869:
856:
850:
800:
794:
768:
764:
758:
746:. Retrieved
742:the original
737:
728:
712:
705:
649:
644:
641:frozen spots
640:
634:
604:
599:
595:Frozen spots
594:
590:
587:frozen spots
586:
584:
581:Architecture
502:
489:
484:re-factoring
481:
477:
466:
454:
439:
421:
412:
393:
365:
352:unverifiable
344:weasel words
341:
313:
302:
272:
263:
253:
246:
239:
232:
220:
208:Please help
203:verification
200:
176:
169:
163:
162:Please help
159:
131:
123:
113:
97:
88:
69:
44:
38:
36:
2075:Video games
2055:Digital art
1812:Concurrency
1681:Data mining
1593:Probability
1326:Interpreter
958:: 150–162,
748:15 December
734:"Framework"
630:subclassing
354:information
49:abstraction
2148:Categories
2133:Glossaries
2005:E-commerce
1598:Statistics
1541:Algorithms
1499:Stochastic
1331:Middleware
1187:Peripheral
820:0201533723
697:References
656:superclass
575:Php4delphi
533:Middleware
469:code bloat
415:April 2020
368:April 2020
316:April 2020
266:April 2011
236:newspapers
165:improve it
76:components
1954:Rendering
1949:Animation
1580:computing
1531:Semantics
1222:Processor
960:CiteSeerX
886:: 18–28,
645:hot spots
626:composing
600:Hot spots
591:hot spots
570:Pipedream
342:contains
171:talk page
141:Rationale
91:libraries
51:in which
2113:Category
1941:Graphics
1716:Security
1378:Compiler
1277:Networks
1174:Hardware
1067:(1994).
934:29690836
836:citation
787:11248368
738:DocForge
665:See also
615:concrete
611:abstract
499:Examples
493:elegance
305:too long
53:software
2123:Outline
900:9311752
618:classes
566:Malware
560:Laravel
401:Please
303:may be
250:scholar
80:project
1077:
1036:
1008:
980:
962:
932:
898:
829:604969
827:
817:
785:
605:In an
348:biased
252:
245:
238:
231:
223:
84:system
47:is an
1526:Logic
1360:tools
1002:Wiley
930:S2CID
896:S2CID
825:S2CID
783:S2CID
717:(PDF)
257:JSTOR
243:books
1358:and
1231:Form
1227:Size
1075:ISBN
1034:ISBN
1006:ISBN
978:ISBN
842:link
815:ISBN
750:2008
628:and
613:and
589:and
229:news
43:, a
970:doi
952:821
922:doi
888:doi
805:doi
773:doi
509:CAD
350:or
212:by
82:or
39:In
2150::
1229:/
1063:;
1059:;
1055:;
1032:,
1004:,
1000:,
976:,
968:,
954:,
928:,
918:12
916:,
894:,
882:,
878:,
859:,
838:}}
834:{{
823:,
813:,
781:,
767:,
736:.
719:,
661:.
620:.
593:.
464:.
174:.
93::
86:.
1167:.
1147:e
1140:t
1133:v
1083:.
972::
924::
890::
884:6
844:)
807::
775::
769:8
752:.
446:)
440:(
428:)
422:(
417:)
413:(
409:.
370:)
366:(
362:.
356:.
318:)
314:(
279:)
273:(
268:)
264:(
254:·
247:·
240:·
233:·
206:.
181:)
177:(
110:.
34:.
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.