In the context of software engineering, when writing American English, which term has to be used and why: “architecture style” or “architectural style”? I’m citing from Chapter 3: Architectural Patterns and Styles on MSDN:
For example, by using architecture styles, you can talk about client/server versus n-tier. Architectural styles can be organized by their key focus area.
Both are possible according to the English grammar. Of course, there are counts from search engines, which are near. But I wish to know any computer-science-related, perhaps historical arguments for/against each of the two options.
This question is similar to Why is “crime story” more correct than “criminal story”?. Some good thoughts are hidden there and can be reused here, but just some of them. E.g., the other discussion is tainted by the fact that “criminal” can also be a noun (“architectural” cannot be a noun), and that “criminal trial” is widely used. Second, here, we have an additional difficulty: we do not mean architectures in the original sense, but we mean software architectures, actually meaning “software-architecture style” and “software architectural style” (if the latter is correct to write anyway). The term “software” is removed for brevity. Third and finally, here we are speaking about software architectures, not about crimes, and about styles, not about stories.
In English, nouns can be used in a way that resembles the way adjectives are used. For example, an “architecture style” is a “style of architecture”, i.e. a set of architectures with some common elements. An “architectural style” is a style which is about architecture, i.e. a set of things with some common elements which are related to architecture. The two expressions are essentially synonyms.
In the mind of the writer of the passage you quotes, “architecture style” and “architectural style” are clearly exact synonyms, since the writer switched from one to the other mid-paragraph.