• JavaScript 目标装配式编程(Target Assemble Programming)


    TAP概述

    脚本中一切皆对象,若还以传统模式思考编程模式,那简直是对不起脚本解释器的强大支持;我们应该以最接近人类操作方式的来表达人的意图。

    更接近工作实践的方式,比如游戏中,一个人物一个角色,人物的能力,除了由其属性决定其天赋能耐,后期修炼中获得的技能与装备更影响其命运。因此我们编程照样能够以此生态来表述我们的脚本流程。因此我们的脚本工作主要就是生产一个个目标功能组件, 这些装备可以安装到特定对象上;然后就是这些主角发挥其能耐,走出他的剧情。

    由此我们的重点不在什么OOP什么思想概要,不论功能装备还是其他人物宠物角色都是脚本工作者的目标对象,即是我所需要组装配置的目标。


    扩展对象实例方法,安装扩展方法

    extend:Object<install> methond

    topic 约定:

    <function name>: <object class> <instance method;use <> to declare instance member> comment

    function name:描述方法意图,方法名

    object class:所将处理的类名字;

    <instance method>:实例方法名,使用尖括号表示实例方法,这是为了表述类及实例方法;


    Script Code:

    function extend()
    {
    	var prototype = Object.prototype;
    	prototype.install = function(software/*:function object*/)
    	{
    		software.call(this);
    	}
    }
    
    extend();// init the whole object prototype
    
    function Name()
    {
    	this.getName = function()
    	{
    		return this.name;
    	}
    }
    object = {name:"object"}
    object.install(Name);
    // so it has getName method
    object.getName();


  • 相关阅读:
    如何在 SQLServer 中启用 xp_cmdshell 等
    强力解决使用node版本管理工具 NVM 出现的问题(找不到 node,或者找不到 npm)
    [啃书] 预告篇
    [啃书] 第5篇
    [啃书] 第4篇
    [啃书] 第3篇
    [啃书] 第2篇
    [啃书] 第1篇
    [前端随笔][Vue] 多级菜单实现思路——组件嵌套
    [算法小练][图][拓扑排序+深度优先搜索] 平板涂色问题
  • 原文地址:https://www.cnblogs.com/qianwen36/p/3657424.html
Copyright © 2020-2023  润新知