标签:#编程范式

共 67 篇文章

自修改代码

自修改代码()是指程序在运行期间()修改自身指令。可能的用途有:病毒利用此方法逃避杀毒软件的查杀,反静态分析、加殼壓縮,反盗版 ,單晶片程序升级。 电脑 在暫存記憶體中执行代码的计算机,可修改内存中的代码段,以往这种方法常被駭客用来制造病毒(参见:EICAR 测试病毒),现今许多操作系统及CPU提供限制程序修改代码段的方法。还可用于程序保护,增加软件破解人员的静态分析难度。 Java SE 6 提供Java Compiler API,和…

回答集编程

回答集编程是语法上类似传统逻辑编程而语义上密切于非单调逻辑的一种声明式编程。在传统逻辑编程和回答集编程之间的主要区别是如何表示否定为失败。在传统逻辑编程中,否定为失败指示推导失败;在回答集编程中,它指示一个文字的一致性。 语法 回答集编程由规则的集合构成,每个规则由一个头部和一个后部构成: head \leftarrow body 规则的头部和后部二者都是文字的集合,每个文字都是可能被否定的原子。与传统逻辑程序相反,原子都是命题而不是一…

HMVC

HMVC(Hierarchical-Model-View-Controller),也可以叫做 Layered MVC。顾名思义,就是按等级划分的 MVC 模式,简单的解释就是把MVC又细分成了多个子 MVC,每个模块就分成一个 MVC。 使用 HMVC 的好处就是可以降低各个功能模块之间的耦合性,提高代码复用性,使得每个功能都可以独立出来,每个模块都有自己的 MVC 结构,这就有点像 ActiveX 控件,每个控件都有自己的行为,控件之…

抽象泄漏

“抽象泄漏”是软件开发时,本应隐藏实现细节的抽象化不可避免地暴露出底层细节与局限性。抽象泄露是棘手的问题,因为抽象化本来目的就是向用户隐藏不必要公开的细节。 历史 艾林·约耳·斯波尔斯基于2002年提出了抽象泄露。更早于1992年,描述了不完善的抽象化的一些问题并提出一些解决办法。 抽象泄漏法则 斯波尔斯基给出的抽象泄漏法则: 对软件开发的影响 由于软件开发与运行环境越来越复杂,开发者必须依赖于各种抽象。使得开发者专注于高层次的领域相关…

意图编程

在计算机编程中,意图(Intentional)编程,是查尔斯·西蒙尼开发的一种编程范型,在软件源代码中编码编程者(或用户)构思他们的工作时心中的精确“意图”。通过使用适当层次的抽象,编程者在其中思考、创建和维护计算机程序会变得更容易。通过分离对意图与具体操作的关切,软件变得更加模块化,并允许更加可重用的软件代码。 意图编程是前微软首席架构师查尔斯·西蒙尼开发的,他当时在微软研究院领导了一个团队,开发了这个范型,并建造了一个叫做IP(意图…

主动修改

主动修改是计算机编程中,在一项的值变化时,其依赖项的值随之变化的行为模式。与惰性求值(Lazy Evaluation,又译为惰性计算、懒惰求值)相对。 假设数据项A的值依赖于数据项B的值。即B的值发生变化将导致A的值的变化。主动修改是在B变化后立即修改A。被动修改或称惰性求值是在取A的值时才修改A。一个具体例子是对于GUI应用程序,子菜单项的内容列表依赖于程序的状态,可以在程序状态改变时立即修改子菜单的列表(主动修改),也可以在仅当菜单…

可扩展编程

可扩展编程(Extensible programming)是計算機科學的詞語,是指程式設計的風格會著重在可以擴展程式語言、編譯器、运行时系统的相關機制。可延伸程式語言(Extensible programming languages)是可以支援這種程式設計方式的程式語言,在1960年代曾是熱門研究主題,而此運動在1970年代就已邊緣化,在21世紀時此一主題又受到關注。 以往的發展 第一篇和可扩展编程運動有關的論文是道格拉斯·麥克羅伊在1…