Knowledge (XXG)

Software framework

Source đź“ť

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:)

Index

Framework (computer science)
Framework (disambiguation)
computer programming
abstraction
software
software environment
software platform
software applications
application programming interfaces (APIs)
components
project
system
libraries
inversion of control
flow of control
Template Method Pattern
Template Method Pattern
extensibility
non-modifiable framework code
improve it
talk page
Learn how and when to remove these messages

verification
improve this article
adding citations to reliable sources
"Software framework"
news
newspapers
books

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑