zoukankan      html  css  js  c++  java
  • 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();


  • 相关阅读:
    Elasticsearch本地环境安装和常用操作
    Scala快速入门
    Flink本地安装和创建Flink应用
    Elasticsearch源码分析
    android6,0申请权限
    JDK动态代理
    Navicat 连接MySQL8.0,错误:Authentication plugin 'caching_sha2_password' cannot be loaded
    mysqldump
    mysql配置远程登录
    将博客搬至CSDN
  • 原文地址:https://www.cnblogs.com/qianwen36/p/3657424.html
Copyright © 2011-2022 走看看