Skeleton (computer programming): Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Dominic3203 | Category:Software | #UCB_Category 1/17
Link suggestions feature: 3 links added.
Line 6:
Skeleton programming facilitates a [[Top-down and bottom-up design|top-down]] design approach, where a partially functional system with complete high-level structures is designed and coded, and this system is then progressively expanded to fulfill the requirements of the project. Program skeletons are also sometimes used for high-level descriptions of [[algorithm]]s. A program skeleton may also be utilized as a template that reflects syntax and structures commonly used in a wide class of problems.
 
Skeleton programs are utilized in the [[template method design pattern]] used in [[object-oriented programming]]. In [[object-oriented programming]], dummy code corresponds to an [[abstract method]], a [[method stub]] or a [[mock object]]. In the [[Java remote method invocation]] (Java RMI) nomenclature, a [[Stub (computer science)|stub]] communicates on the client-side with a skeleton on the [[server-side]].<ref>{{cite book
| last1 = Freeman
| first1 = Eric
Line 72:
An [[abstract class]] is almost the same as a class implementation, however depending on the language, at least one method is defined as abstract. This implies that any children of this class (any classes that extend or implement) need to have a method defined for this. Abstract classes have a very similar definition style to interfaces, however a keyword ‘abstract’ is typically used to identify the fact that it needs to be implemented in child classes.
public abstract skeletonExample();
These examples use the [[Java syntax]].
 
== Parallel programming ==
Line 100:
 
* ‘Divide and conquer’ uses a map skeleton as its basis, combining this with a while skeleton to solve the problem. In map algorithms, functions on data are applied simultaneously. In ‘divide and conquer’ the set of data provided has a function applied to it using the map skeleton, however this can be applied recursively using the ‘while’ algorithm. The ‘while’ is only broken when the entire problem is solved.
* ‘Branch‘[[Branch and bound’bound]]’ is an algorithm that also uses map algorithms, however instead of applying the ‘while’ algorithm to run the tasks simultaneously, this algorithm splits the tasks into branches. Each branch has a specific purpose, or ‘bound’, where the conditional statement will cause it to stop.
 
{{Portal|Computer programming}}