الگوی برنامهنویسی که برخی منابع به آن پارادایم برنامهنویسی میگویند به معماری به کار گرفته شده در کدنویسیها اشاره دارد. البته دقت کنید منظور از معماری در این بحث نوع کدنویسی همچون تابعی، شیگرا و… است و ارتباطی با متدولوژیهای نرمافزاری ندارد.
زبانهای برنامهنویسی این ظرفیت را دارند که از یک یا چند شیوه برنامهنویسی پشتیبانی کنند. بهطور مثال، برنامههای نوشته شده با سی پلاسپلاس میتوانند بهطور کامل رویهای یا منطبق بر شیوه برنامهنویسی شئگرا که در تضاد کامل با شیوه رویهای است یا حتی حاوی عناصری از هر دو شیوه باشند. تصمیمگیری برای چگونگی استفاده از الگوهای برنامهنویسی توسط برنامهنویس انجام میشود. در ادامه به چند مورد از رایجترین الگوهای برنامهنویسی اشاره میکنیم.
تاکنون ، معماری های متفاوتی به منظور طراحی و پیاده سازی متناسب با رشد فن آوری در بخش نرم افزار ارائه شده است این معماری ها از یکطرف برخاسته از امکانات و ماهیت معماری سخت افزار ها در زمان خود و از طرف دیگر بسته به نوع و نگرش در تکنولوژی های ساخت نرم افزاری و انتظارات طرح شده توسط کاربران است هر معماری دارای شاخص ها و ویژگی های منحصر بفرد خود بوده و نرم افزارهائی که با اتکاء بر هر یک از معماری های فوق پیاده سازی می گردنند ، خصایص خود را از معماری بکارگرفته شده به ارث خواهند برد در زیر به شرح مختصری از هر یک از معماری ها می پردازیم.